Autor Zpráva
slovakCZ
Profil
Dobrý den,

chtěl jsem se zeptat, jak je u většiny CMS řešena otázka pluginů.
Jelikož jejich instalace je velmi jednoduchá, uvedu pŕíklad pluginu "ankety":
- skripty pluginu jsou ve služce anketa
- složku anketa nahraju na FTP do složky pluginy
- v administraci dam položku pluginy a ihned vidim, že jsem nahral nový (tedy tu anketu)
- v administraci dam instalovat plugin anketa a plugin funguje
- v menu se objeví položka "Nastavení anket"
- v tomto nastavení můžu přidávat, ubírat a editovat angety
- na webu se mi napŕ v levém menu objeví daná anketa
___
chtěl jsem se zeptat, jak se toto řeší, že CMS pozná, že jsem nahrál nový plugin a po jeho aktivaci se mi objeví např v tom menu. Stačilo by mi to nějak teoreticky vysvětlit, jak to funguje. nebo ukázat nějaký velmi jednoduchý CMS kde tento příklad je (nemyslim Wordpress kde bych hodiny hledal kódu jak to je řešené).

za každé rady a nápady budu vděčný.

s pozdravem Tom
Mastodont
Profil
CMS pozná, že jsem nahrál nový plugin
No když ho někam nahraješ, tak se objeví ve výpisu souborů či složek - čili při spuštění administrace stačí spustit kód, který zjistí, zda se nezměnil obsah složky plugins či něčeho podobného.
srigi
Profil
slovakCZ
Myslim, ze je to robene podobne ako moduly vo frameworku Symfony.

Plugin sa nahra do aplikacie. Plugin obsahuje subor, v ktorom je definovana sablona (HTML kod), do ktorej sa vyleje obsah ziskany z aplikacnej logiky (modelu).

Tym, ze sa plugin aktivuje v admine, aplikacia vytvori v hlavnej sablone (layout-e) pre horeuvedenu sablonu placeholder (v Symfony sa to nazyva slot). Toto plati pre frontend.

V admine sa aktivovanim pluginu, musi niekde zapnut nacitanie backendovej casti pluginu - CMS vytvori v menu odkaz na URL adresu, ktora ked sa otvori, zavola kod, ktory vykresli do hlavnej sablony adminu (layout-backend) obsah stranky. Obsahom tejto stranky bude administracia pluginu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0