Autor Zpráva
Darth-Cz-
Profil *
Dobrý den,

patrně se to tu mnohokrát řešilo, nicméně chtěl bych být trochu specifičtější a požádat vás o radu s vývojářským řešením.

Řekněme, že bych chtěl naprogramovat a doinstalovat do joomly něco, co bude mít základní volby (text emailu, nastavení času etc. řekněme jednoduché inputy) a bud to například z komponenty jos_content tzn. z její databáze číst údaje a přidávat jim například údaje uživatelů. A pak to třeba celé vyexportovat. A řekněme, že by to měl provádět třeba cron.

Co musím programovat, aby to bylo vhodné rozšíření? Stačí plugin nebo modul? Nebo musím naprogramovat celou komponentu? Zatím jsem vždy použil komponentu, nicméně nevím, zda je to třeba pro takovýto případ nutné.

V případě, že by stačil modul nebo plugin, tak by mě zajímalo, pod jakou url adresou například bych danou akci prováděl.

Za odpověď mnohokrát děkuji.
karel_
Profil *
Z dotazu jsem osobně, mírně řečeno, "zmatený" (možna i Vy).

Pokud potřebujete něco pouštět cronem, "to něco" je vhodnější když bude mít vlastní URL, kterou se celá požadována akce "spustí". Tj plugin či modul to být sice můžou, ale pak by se museli svázat s některou jednou konkrétní URL, se kterou (a žádnou jinou) se "svážou" a "pustí". Výhodnější je však komponenta.
H13
Profil
Všeobecně:

:: komponenta se hodí na to, pokud chceš něco zobrazit na hlavní části webu - v přední části, nebo potřebuješ něco spravovat v administrátorské části
:: modul se hodí na zobrazení "něčeho" v module pozicích - tedy na přední části stránky - vlevo, vpravo, nahoře, dole, atd.
:: plugin může mít různé formy - například content plugin se spouští pouze v článcích (kromě vyjímek), používá vzor "pozorovatel" a dokáže ovlivnit výsledný obsah článků (pro správu v administraci se moc nehodí, pokud neobsahuje jednoduché nastavení), dalším typem může být systémový plugin, ten už "nepozoruje" jen obsah článku, ale celý systém, to znamená, dokáže ovlivnit veškerý výstup co Joomla! vyprodukuje (jak v přední části - tak v administrátorské)

Jak psal karel_, z příspěvku není patrný co přesně chceš dělat, ale asi je dobrý použít komponentu - pro nastavení v administraci a tato komponenta pak může "tahat" data např. z tabulek článků a případě spolupracovat s cronem.
Darth-Cz-
Profil *
Děkuji za odpovědi. Mířil jsem tím spíše na teoretickou stránku věci. Moduly používám občas k bannerům, ale na všechno ostatní jsem zatím použil komponenty. Nikdy jsem nepoužil plugin, proto mě zajímá, jaké má oproti komponentě výhody, respektive v jakých situacích mu dát přednost před komponentou, jelikož komponenta je přeci jen trochu rozsáhlejší.
H13
Profil
Darth-Cz-:
Jak jsem psal výše, každá část (plugin, modul, komponenta) má svoji speciální funkci. Pluginy se používají hlavně pro úpravu výstupů:

- content plugin - upravuje obsah, tedy máš článek a uvnitř článku je nějaký plugin, ten pak vykoná kód napsaný v pluginu. Příklad - článek o tom jak jsi byl někde na cestách - uvnitř článku vložíš plugin mapy a tento plugin prostě uvnitř článku vygeneruje mapu (tedy nedáváš mapu staticky do každýho článku)
- systém plugin - ten zase upravuje celý výstup stránky - např. máš systémový plugin pro google analytics - systémový plugin si počká na výstup stránky, najde se konec tagu head a změní výstup tím, že před něj přidá javascript od google analytics.

atd. atd.

Komponenta je rozsáhlejší, protože je to taková "samostatná jednotka" - např. pro ni vytvoříš správu, zobrazení, parametery, zatímco plugin se prostě využívá pro jednudochý zařazení něčeho mezi obsah, výstup stránky bez nějaký složitého administračního aparátu.

Pokud chceš vytvořit něco rozsáhlejšího, např. chceš zobrazit seznam kategorií a chceš mít možnost vytvářet, editovat, mazat kategorie, pak potřebuješ komponentu. Pokud ale jen chceš již stávající kategorie zobrazit v obsahu, stačí ti plugin.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0