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).
To wszystko z sympatii ;)
W dniu 6 listopada 2015 13:59 użytkownik Ernest <ernest@poczta.tarman.pl> napisał:
Witaj Marcinie!!!
Witaj, ale czemu z wykrzyknikami???
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 ;(.
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ść.
:)
{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 list lms@lists.lms.org.pl http://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 list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms
_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms