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?
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 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}({$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
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 http://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Marcin / nicraM
lms mailing listlms@lists.lms.org.plhttp://lists.lms.org.pl/mailman/listinfo/lms
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Marcin / nicraM
lms mailing listlms@lists.lms.org.plhttp://lists.lms.org.pl/mailman/listinfo/lms
lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
-- Pozdrawiam Marcin / nicraM
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