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.
@Marcin Już sobie poradziłem ;) w najprostszy możliwy sposób. Zastapilem oryginalny blok 3 wersjami nowego na if,elseif,else (ma to obecnie niestety ten minus, ze jezeli zmieni sie oryginalny szablon /na ktory mam maly wplyw/ to zmiany nie beda uwzgledniane) chyba jeszcze się pobawię z {capture};) ...
....tu trzeba pomyśleć, co konkretnie robisz i jaki chcesz mieć efekt? bo
cały czas piszesz o .html, ale nie wiemy z jakiego poziomu to wywołujesz.
Na tym etapie nie "dotykam" w żadnym miejscu modułów, po prostu chcę zmienić sposób prezentacji danych co powinno dać się zrobić samymi szablonami. SMARTY jak każdy system szablonów ma swoje "plusy dodatnie i plusy ujemne" ;) po prostu pewne rzeczy robi się intuicyjnie a nad pewnymi trzeba się "pokiwać".
@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/
W dniu 11/09/2015 o 10:13 AM, Ernest pisze:
Witaj Marcinie.(skoro nie lubisz wykrzykników to kropka ;) )
Ja się nie upieram żeby zrobić to w smarty. Jest zdefiniowany szablon z blokiem i teraz w zależności od zawartości phpui potrzebuję wyświetlić albo oryginalny blok, albo nowy, albo obydwa. Jeśli jest sposób żeby zrobić to z poziomu plugina to proszę o podpowiedz.
Po weekendowej przerwie przychodzi mi jeszcze do głowy pomysł (oparty jednak na smarty) z funkcją {capture} (gdzies na listach coś takiego wyszukałem)
Pozdrawiam /ernesttar/ W dniu 11/06/2015 o 05:15 PM, Marcin pisze:
Możesz też przygotować dwa pliki html i w zależności od warunku w php wyświetlać odpowiedni plik. 6 lis 2015 16:05 "Ernest" ernest@poczta.tarman.pl napisał(a):
W dniu 11/06/2015 o 03:51 PM, Marcin pisze:
W dniu 6 listopada 2015 15:37 użytkownik Ernest ernest@poczta.tarman.pl napisał:
W dniu 11/06/2015 o 02:45 PM, Marcin pisze:
W dniu 6 listopada 2015 14:37 użytkownik Ernest <ernest@poczta.tarman.pl
napisał:
W dniu 11/06/2015 o 02:07 PM, Marcin pisze:
Dodałem kilka regionów z blokami puściłem pull requesta, jak Tomek
zaakceptuje to może starczy.
Nie chodzi tu o to, żeby ktoś specjalnie siedział nad szablonami i je poprawiał.
Aczkolwiek racja. netdevinfo był bezblokowy, więc co za problem na przyszłość ułatwić innym życie?
Teraz mam już gotowe, tylko że zrobione zgodnie ze wzorem na samym dole. Sam mogę zrobić pull request ;)
To czemu nie robisz?
Poszły 2 szt. reszta jak skończę przepisywać wtyczkę ;)
Mam jeszcze pytanko. Chciałbym uzależnić sposób wyświetlania danego bloku od zawartości config.phpui w takim sensie, że np. jeżeli phpui.xxx == 1 to zamieniam blok jeżeli phpui.xxx == 2 to dopisujemy dodatkowa treść do oryginału przez block append
Jak to rozwiązać ?? kombinowałem z : {if warunekdospelnienia} {block name=xxx} zawartosc nowego blooku {/block} {else} {block name=xxx append} zawartosc nowego bloku {/block} {/if}
a nie lepiej ten warunek rozwiązać w php i przekazać wynik do smarty?
A w jaki sposób ten warunek rozwiązać w pluginie gdzie wynik ma skutkować tylko i wyłącznie zmianą wyświetlania danego bloku ? Tak naprawdę to chodzi o magiczną opcję "append" dodawaną do interesującego mnie bloku. Składnia w przykładzie (z tym, że append był w spełnionym warunku czyli u góry) dawała w wyniku 2x zawartość nowego bloku niezależnie od tego czy if był spełniony czy nie. Może sposobem na takie cuś byłaby sekcja ({section}) ?
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
lms mailing listlms@lists.lms.org.plhttp://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Michał Szmigielski /ernesttar/
lms mailing listlms@lists.lms.org.plhttp://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Michał Szmigielski /ernesttar/
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms