Aktywna zakładka to nie jest zbyt duży problem chyba, że do wyświetlenia zakładek wykorzystujemy extended menu, które nie oferuje tej możliwości. Napiszę szybko jak się z tym uporałem w wydaje mi się ciekawy sposób w każdym razie najważniejsze że było robione "na szybko" i działa zadziwiająco skutecznie.
Nie będę się za dużo rozpisywał bo nie mam za bardzo czasu jak zwykle z resztą ale zikula pl ma nową szatę warto coś dopisać.
Extended menu to fajny blok można na nim wiele zrobić ja wykorzystałem go do stworzenia prostego menu z zakładkami. Problem jaki miałem to brak mechanizmu ustawiania klasy css dla aktywnej zakładki.
Co zrobiełem :
Stworzyłem oddzielną templatkę dla bloku. Wstawiłem ją do katalogu themes/nazwathema/templates/modules/Blocks
<div id="navcontainer_<!--[$blockinfo.bid]-->" class="navcontainer">
<!--[pnmodgetname assign="curmodule"]-->
<!--[if $tid == 1]-->
<!--[assign var="curindex" value=0]-->
<!--[elseif $tid == 3]-->
<!--[assign var="curindex" value=1]-->
<!--[elseif $tid == 4]-->
<!--[assign var="curindex" value=2]-->
<!--[elseif $tid == 5]-->
<!--[assign var="curindex" value=4]-->
<!--[elseif $curmodule == "Dizkus"]-->
<!--[assign var="curindex" value=5]-->
<!--[elseif $curmodule == "Profile"]-->
<!--[assign var="curindex" value=6]-->
<!--[/if]-->
<ul class="navlist">
<!--[foreach from=$menuitems item=item name=foo]-->
<!--[if $item.name != '' && $item.url != '' ]-->
<li <!--[if $smarty.foreach.foo.index == $curindex ]--> class="current-cat" <!--[/if]--> >
<a href="<!--[$item.url|pnvarprepfordisplay]-->" title="<!--[$item.title]-->">
<!--[ if $item.image != '' ]-->
<img src="<!--[ $item.image ]-->" alt="<!--[ $item.title ]-->" />
<!--[ /if ]-->
<!--[$item.name]-->
</a>
</li>
<!--[else]-->
<li > </li>
<!--[/if]-->
<!--[/foreach]-->
</ul>
</div>
Jak widzicie najpierw sprawdzamy jaki jest moduł(lub jak ja tid) i określamy indeks zakładki. Następnie podczas przechodzenia przez pętle porównujemy ten index z indeksem pętli jeśli jest ten sam ustawiamy klase.
System jest prosty i pewnie można go udoskonalić ja zrobiłem to jak już pisałem "na szybko" żeby zobaczyć czy działa i działa całkiem sprawnie oczywiście jest pare niedociągnięć, ale jak się nad tym chwilę posiedzi to można zrobić naprawdę dużo.
Wówczas bez edycji szablonu się nie obejdzie.
Wydaje mi się ze jest możliwość sterowania tym z poziomu strony, ale jeszcze jej nie opracowałem :D
Nie znam innego sposobu, mógłbym to robić na sztywno w theme, ale przy zmianie kolejności trzeba jeszcze więcej zmieniać.Musiał bym to kopiować do każdej templatki theme itp, a tak wszystko jest w jednym miejscu raz zmienię i mam po kłopocie, to wydaje mi się bardziej przejrzyste nie bawisz się pojedynczymi wpisami li tylko sterujesz nawet skomplikowane wyrażenia będą wyglądać czysto, to zależy chyba kto co lubi.
Wiesz inaczej mówiąc nie chciało mi się robić menu na li jak robiłem stronę bo w menu jest łatwiej (zmieniać opisy itp):), no a jak już zrobiłem na tym menu to już całkiem nie chciało mi się przerabiać tego z powrotem na li.
Napisałem o tym bo w sumie po jakimś czasie mogę zapomnieć, a tak może ktoś skorzysta albo udoskonali i ja też skorzystam.