Witaj Marcinie!!!
Z bardzo prostego powodu, co opiszę na swoim przykładzie. Mam plugin, który dodaje swój kawałeczek do pliku netdevinfobox.html. Kawałeczek, który aż sie prosi o to żeby wstawić go pod kawałkiem (w zasadzie wierszem) netnode. Czyli z drobnymi blokami wstawiam po prostu kolejny wiersz do tabeli.
Bez takiego poszatkowania muszę robić extend do netdevinfo.html i tam podmienić include`a netdevinfobox.html na cokolwiek o innej nazwie bo netdevinfobox.html jest "bezblokowy". Następny plugin, który będzie chciał zrobić tak samo zastąpi moje zmiany i któraś z wtyczek przestanie poprawnie działać. w przypadku kiedy mam duzo bloków to mój kawałek szablonu zamknie się w 8 linijkach, a złożone szablony są i tak cache`owane, więc nie wpłynie to jakoś szczególnie na wydajność.
{extends file="netdev/netdevinfobox.html"} {block name="netdevinfobox-netnode" append} <TR> <TD colspan="2"><b>{trans('Uplink:')}</b></TD> <TD style="">{if $netdevinfo.dstport && $netdevinfo.dstnetdevname}{$netdevinfo.name}({$netdevinfo.uplinkport}) <IMG SRC="img/netdev_takenports.gif" ALT=""> <A HREF=?m=netdevinfo&id={$netdevinfo.dstnetdevid}> {$netdevinfo.dstnetdevname} </A> ({$netdevinfo.dstport}){else}{trans('Unlinked!!!')}{/if}</TD> </TR> {/block}
W dniu 11/06/2015 o 01:44 PM, Marcin pisze:
W dniu 6 listopada 2015 13:39 użytkownik Ernest <ernest@poczta.tarman.pl mailto:ernest@poczta.tarman.pl> napisał:
Dodatkowo, oczywiście jeśli pan Tomek nie będzie miał nic przeciwko temu, prośba do wszystkich, którzy piszą własne wtyczki o wzbogacenie oryginalnych plików szablonów (oczywiście tych których dotyczy wtyczka no chyba, że już będą zrobione to wtedy jakikolwiek inny) o bloki ( na wzór vioipaccounts ) i wysłanie ich jako commit`a na git. Myślę, że taka akcja bardzo ułatwi życie nam wszystkim przy pisaniu kolejnych wtyczek. Osobiście widzę to tak, że dzielimy szablon na jak najmniejsze bloki (nazwapliku-wyróżnik_bloku), dzięki którym wtyczki maja punkt zaczepienia dla swoich danych i nie trzeba rozszerzać głównego pliku tylko fragment o który nam chodzi przez co zmniejsza się niebezpieczeństwo konfliktu pomiędzy wtyczkami. Poniżej przykładowy fragment.
Możesz wyjaśnić po co aż tyle bloków? moim zdaniem jest to zbędne. Oczywiście, jeden blok o nazwie pluginy mógłby być ale nie koniecznie. smarty ma coś takiego jak append, prepend, parent i to wystarczy. możesz dorzucić co kolwiek do bloku już istniejącego bez ingerencji w kod główny.
Pozdrawiam Michał Szmigielski /ernesttar/ (fragment pliku "netdev/netdevinfobox.html" wzbogacony o bloki) ..... {if $netdevinfo.model} {block name="netdevinfobox-model"}<!-- dodatkowy znacznik bloku --> <TR> <TD WIDTH="1%"> <IMG SRC="img/netdev_model.gif" ALT=""> </TD> <TD WIDTH="1%"> <B>{trans("Model:")}</B> </TD> <TD WIDTH="98%"> {$netdevinfo.model} </TD> </TR> {/block} {/if} {if $netdevinfo.serialnumber} {block name="netdevinfobox-serial"} <!-- dodatkowy znacznik bloku --> <TR> <TD WIDTH="1%"> <IMG SRC="img/serialnumber.gif" ALT=""> </TD> <TD WIDTH="1%" NOWRAP> <B>{trans("Serial number:")}</B> </TD> <TD WIDTH="98%"> {$netdevinfo.serialnumber} </TD> </TR> {/block} {/if} ... W dniu 10/08/2015 o 08:15 PM, Tomasz Chiliński pisze: W dniu 08.10.2015 19:37, Maciej Lew napisał(a): Co masz przez to na myśli? Odebranie danych z jakiegoś managera i wciśnięcie ich w pętlę hooków? Czy coś innego? Mniej więcej tak. _______________________________________________ lms mailing list lms@lists.lms.org.pl <mailto:lms@lists.lms.org.pl> http://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Marcin / nicraM
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms