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> 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