cast stranky jako modul

zefo7
11. dub 2019 23:14 - 11. dub 2019 23:16 #139869
Zdravím, potřeboval bych, poradit ohledně případného vytvoření nějakého modulu, který budu klasicky poziciovat někde na stránce a bude zobrazovat nějakou část mé php stránky.
Něco jako iframe v HTML. Nainstaloval jsem modul "Flexi Custom Code" do kterého je možné psát i php kód jako například: <? php include "adresa./index.php/contacts"; ?>

Zřejmě je problém, že zadávám špatný link jelikož nevím, který soubor slouží k zobrazení požadované stránky nebo to takto jednoduše nemůže fungovat :).
Respektive pokud existuje ještě nějaká jiná možnost takového požadovaného zobrazení.

Stránku jsem vytvořil přes:


Výsledek je něco takového:


A chtěl bych aby se tato stránka zobrazovala formou modulu spolu s ostatními moduly na homepage:



Předem děkuji za nejake tipy :)
Přílohy:

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
11. dub 2019 23:47 #139870
Ten link, který hledáte se vám zobrazuje při vytváření položky menu.

Ale takhle to zrovna nefunguje, potřebujete modul na zobrazení kontaktů Joomly, ale ten v instalaci neexistuje. Nebo můžete zobrazit obsah komponety, ale to zas v omezeném prostoru modulu bude příšernost.

Osobně si myslím, že to, o co se pokoušíte je naprosto zbytečná práce.
Kolik těch kontaktů budete mít? Proč potřebujete jejich seznam ještě zobrazovat v nějakém modulu?

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
12. dub 2019 00:03 #139872
Tady máte návod jak udělat jednoduše modul s vlastním php. Ale odkazy na kontakty bych spíš řešil klasickým menu.

php kód
<? php include "adresa./index.php/contacts"; ?>
je absolutní nesmysl. Takhle opravdu PHP nefunguje.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
12. dub 2019 01:19 - 12. dub 2019 01:28 #139874
Tady je opět můj tip:

Vypadá to na web s výpisem pracovních zařazení a počtem pracovníků u každé pozice.

Pokud potřebujete modul s výpisem kategorií kontaktů a počtem pozic u každé kategorie na každé stránce dole pod článkem - ano nejlepší řešení je mít modul.

Ne tak jak zkoušíte Vy, možná jak píše Cony, i když se mi to nezdá :(

Pokud bych řešil tento problém jako zadání pro mé programátory bylo by jednoduché:

1. Vytvořit nový typ modulu - pro programátora co rozumí je to otázka 2-3h
Inspiraci bych vzal zde:
a. demo3.simplifyyourweb.com/trombinoscope - modul pro zobrazení výpisu kontaktů - jen pro inspiraci, pro Vás nevhodné
b. prostudoval bych položku menu Contact category a jeho view (tak jak psal Bong):
components/com_contact/views/category/tmpl/default.php - šablona pro view
components/com_contact/views/category/view.html.php - nutné kódy pro výpočet proměných a načtení modelu

Pak bych chtěl po programátorovi aby udělal nový typ modulu, který by měl template podobné bodu a, a v hlavním php bych použil kódy z view.html.php
Pro template můžete využít to svoje již udělané php za předpokladu že dodržujete joomla standardy frameworku.

2. Kodér co rozumí php je pak schopen během 2 hodin si upravit view v php jak potřebujete mít viditelné proměnné a nastylovat
3. Administrátor je pak schopen doplnit jazykové konstanty, zkontrolovat a otestovat, udělat instalační balíček - opět asi za 2-4h

Suma sumárum do 6-10h práce máte určitě plně funkční svůj modul, který můžete prodávat nebo nabízet zdarma ke stažení a který využívá plně interních core funkcí Joomla.

Pozitivní na tom pro Vás bude, že Vás to donutí naučit se programovat ve frameworku Joomla. A věřte, že modul je to to nejjednoduší co se naučit lze, sám jsem jich pár vytvořil.

Je to ta správná výzva pro Vás? :)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
12. dub 2019 13:33 #139880

Rudolf napsal: Ne tak jak zkoušíte Vy, možná jak píše Cony, i když se mi to nezdá :(

:) - je to nejjednodušší a nejrychlejší cesta, jak dostat v rámci šablony svůj vlastní kód do modulu. Podobně pro komponenty se dá použít přepis com_wrapper. Přepsat by se dal v podstatě jakýkoliv modul, ale pointa je v tom, že modul Vlastní obsah (popř. com_wrapper), sám o sobě nic nedělá, tj. nezatíží zbytečně bh svým kódem. Je to samozřejmě jednoúčelová záležitost, popírá to MVC (šablona obsahuje funkční kód), ale funguje to :) Pokud se nepletu používá to i LineLab ve svém template builderu...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od zefo7
13. dub 2019 12:58 #139890
Dekuji za rychlou odpoved a rady.
Jak pise Rudolf, zrejme to necham na nejakeho programatora :) .

Preji hezky den.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od zefo7
13. dub 2019 17:19 #139891
Takze svuj vyse zmineny pozadavek jsem vyresil pomoci nainstalacie pluginu: "Components Anywhere"

Pak jednoduse napr. do "clanku" nebo "vytvorit vlastni obsah" napisete:
{component url-component}

U me:
{component index.php?option=com_contact&view=categories&id=0}

Jeste jednou Vam dekuji za rady, pomohlo my hlavne jako ziskam ten link :)


https://extensions.joomla.org/extension/components-anywhere/

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
13. dub 2019 20:56 #139892
Výborně :)

V rámci výuky jsem si ten modul naprogramoval během 2 hodin a mohu nyní s klidem uveřejnit na našem portálu ke stažení.

Demo můžete vidět zde (nad patičkou):

joomla3.easy.minion.cz/index.php?lang=cs

Výhoda oproti Vašemu řešení je, že si mohu nyní v klidu přepisovat view modulu v šabloně a nastavit jiné nastavení zobrazení parametrů modulu než v komponentě (což Vy ne).
Přílohy:

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
14. dub 2019 00:42 #139894

Demo můžete vidět zde (nad patičkou):


nemůžeme

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
14. dub 2019 12:34 #139895
???

Aha, ochrana proti indexaci nejenom v administraci. Již možno :)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.