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.bardzo rozumiem dlaczego extends robimy >pliku layout.html a nie
A czy zawartość pliku którą przedstawiłem jest ok? Bo ja 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 jesgowelcome.html normlanie jest w >templates/default/welcome/ a tutaj
umiejscowienie w strukturze katalogów, tzn. przykładowo
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 wtemplates_c żeby to się odświerzyło?
Jeśli zadaję pytania na kóre gdzieś jest już podpowedź toproszę 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
--
Pozdrawiam
Tomasz Chiliński, Chilan
_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms