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ł. Teraz mam już gotowe, tylko że zrobione zgodnie ze wzorem na samym dole. Sam mogę zrobić pull request ;) Podpytuję tylko głównodowodzących czy takie podejście ma sens bo jeżeli nie to muszę znaleźć inną drogę do celu (choćby przepisanie szablonów tylko dla siebie).
W dniu 6 listopada 2015 13:59 użytkownik Ernest <ernest@poczta.tarman.pl mailto:ernest@poczta.tarman.pl> napisał:
Witaj Marcinie!!!
Witaj, ale czemu z wykrzyknikami???
To wszystko z sympatii ;)
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.
Tu akurat nie potrzebujesz dodatkowego bloku, załatwiasz to z plugina i smarty.
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".
no tak, netdevinfobox.html jest bez bloków, ale ja bym do niego nie wstawiał bloków, bardziej do netdevinfo.html gdzie załatwione byłoby to w jednym pliku.
Następny plugin, który będzie chciał zrobić tak samo zastąpi moje zmiany i któraś z wtyczek przestanie poprawnie działać.
no nie, wcale tak nie jest. będzie się liczyła kolejność pluginów i smarty do jednego bloku będzie appendował. oczywiście jak będziesz mu kazał tak ze swojego bloku. http://www.smarty.net/docs/en/language.function.block.tpl
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ść.
:)
Jako głębiej siedzący w szablonach SMARTY masz większą wiedzę na to co można i jak to wpływa na wydajność. Sam nie robiłem pomiarów zresztą nie byłyby miarodajne na moim dość mocno obciążonym sprzęciku ;(.
{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 <http://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 <mailto:lms@lists.lms.org.pl> http://lists.lms.org.pl/mailman/listinfo/lms
_______________________________________________ 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