Twoja dodatkowa funkcjonalność właściwie wymaga jedynie obudowania kodu kupą ifów, które sprawiałyby, że linki będą wyświetlać się w konkretnych sytuacjach. Poradzi z tym sobie zarówno czysty PHP, jak i Smarty. Wieczorem postaram się podrzucić jakieś przykłady, bo aktualnie niestety nie mam nic sensownego pod ręką do pokazania.
PHP jest ogólnie kiepski do pisania szablonów dlatego, że w czystej postaci nie oferuje prawie nic, co by ułatwiało programiście ich tworzenie. Może i powstawał on jako "preprocesor HTML", ale dawno już przestał nim być. Wszystko, począwszy od składni, do osadzania w kodzie HTML jest dostosowane bardziej do klepania algorytmów i pisania logiki aplikacji, a każdą najmniejszą głupotę musisz samodzielnie kodować i wynajdywać koło na nowo. OK, niby są te helpery, tylko z uwagi właśnie na budowę PHP ich personalizacja to jakiś masochizm. W samym tylko Zend Frameworku, jeśli chcesz zmienić jeden znacznik w wyglądzie kontrolki formularza, musisz bawić się zaawansowaną obiektówką. Smarty jest kiepski dlatego, że powiela dokładnie ten sam błąd, co PHP, a na dokładkę wprowadza kupę własnych idiotyzmów.
Ale to, że Smarty jest kiepski, nie znaczy, że wszystkie systemy szablonów są kiepskie. Masz PHPTAL, OPT 2 - podstawowa ich przewaga to pełne rozumienie struktury kodu HTML, a jest też sporo innych. Ujmę to tak: nieważne, co wybierzesz: czy Zend_View i PHP, czy Smarty, czy PHPTAL, czy OPT - będziesz się musiał tego narzędzia nauczyć. Pisanie w PHP tylko pozornie jest proste, bo przecież masz całą kupę helperów do opanowania, bez których język jest bezużyteczny na dłuższą metę, a jeszcze będziesz musiał sobie wyrobić jakiś styl budowy i organizacji Twoich szablonów, by się nie pogubić w tym wszystkim. Z kolei OPT 2 to zupełnie inna filozofia programowania. Na początku może być ciężko, ale jak się już załapie, o co w niej chodzi, to nagle pisanie szablonów staje się miłym i przyjemnym zajęciem. Piszę to teraz z punku widzenia własnego doświadczenia. Co prawda jestem autorem OPT (skoro zeszliśmy już na ten temat, to uczciwość nakazuje o tym poinformować), ale tylko w tym roku robiłem także projekty z szablonami w czystym PHP, których tworzenie szło strasznie topornie - szczególnie formularzy

. Z tego powodu, jeśli tylko nie ma naprawdę poważnych przeciwwskazań, staram się używać właśnie OPT. Zobacz sobie, sprawdź czy Ci pasuje, w końcu sprawdzenie nie boli.