W dniu 10.11.2015 08:29, Ernest napisał(a):
Witam.
Witam,
@Chilan Dałoby się wcisnąć "rejestrację" katalogów szablonów wtyczek gdzieś z automatu, tak żeby nie trzeba było w każdej wtyczce osobno ich dodawać?
Nie każdy plugin tego potrzebuje, a dodawanie na stałe sprawdzania katalogów dla każdego aktywnego pluginu może spowodować spowolenienie pracy LMS-a. Spróbuję zrobić tak, żeby przynajmniej to było prostsze niż obecnie, np. przez wywołanie pojedynczej metody z klasy LMSPlugin.
Pozdrawiam Michał Szmigielski /ernesttar/
W dniu 11/10/2015 o 01:27 AM, loleo2 pisze:
Ernest bardzi Ci dziękuję. Teraz zaczęło działać.
W dniu 9 listopada 2015 11:09 użytkownik Ernest ernest@poczta.tarman.pl napisał:
Witam.
@loleo2
Włączyłem, klikając na żarówkę z poziomu wtyczek. A czy zawartość pliku którą przedstawiłem jest ok? Bo ja nie
bardzo rozumiem dlaczego extends robimy >pliku layout.html a nie welcome.html, Jak najbardziej możesz extends robić dla pliku welcome.html Możesz nawet wybrać, który blok z oryginalnego pliku chcesz modyfikować(zastąpić, dopisać przed, dopisać po).
po za tym jakie ma znaczenie nazwa pliku w templates oraz jesgo umiejscowienie w strukturze katalogów, tzn. przykładowo
welcome.html normlanie jest w >templates/default/welcome/ a tutaj włożony jest do /templates/welcome. Co do umiejscowienia nowego pliku to w zasadzie nie jest (chyba) ważne byle był w katalogu templates w pluginie.
Nie wiem np. czy może nie trzeba kasować zakeszowanego pliku w
templates_c żeby to się odświerzyło?
Jeśli zadaję pytania na kóre gdzieś jest już podpowedź to
proszę o jakiegoś linka, bo ja jakoś nie trafiłem Nie jest to konieczne. Za to konieczne jest dopisanie do pluginu funkcji dodającej katalog templates z pluginu do ścieżki wyszukiwania szablonów czego w przykładowym nie ma: Kod made by Jarosław Dziubek ;)
fragment pliku "ExamplePlugin.php": class PluginExample extends LMSPlugin { //(...) public function registerHandlers() { $this->handlers = array( 'smarty_initialized' => array( 'class' => 'WelcomeHandler', 'method' => 'smartyInit' ), //(...)
fragment pliku "handlers/WelcomeHandler.php": class PluginExample { /**
- Sets plugin Smarty templates directory
- @param Smarty $hook_data Hook data
- @return \Smarty Hook data
*/ public function smartyInit(Smarty $hook_data) { $template_dirs = $hook_data->getTemplateDir(); $plugin_templates = PLUGINS_DIR . '/ExamplePlugin/templates'; array_unshift($template_dirs, $plugin_templates); $hook_data->setTemplateDir($template_dirs); return $hook_data; } //(......)
Oczywiście przejrzyściej byłoby wrzucić toto do osobnej klasy "inicjalizacja_pluginu_xxx"
plik "templates/welcome/welcome.html ": {extends file="welcome/welcome.html"} {block name=welcome-right-panel} testowa modyfikacja {/block}
Pozdrawiam /ernesttar/
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms