Często zachodzi potrzeba w pliku szablonu (są to pliki o rozszerzeniu .tpl, które są przetwarzane przez system Smarty) osadzenia linku do strony CMS. Dla przykładu dla strony CMS z regulaminem.
Można oczywiście „statycznie” wykonać taki link. Czyli powiedzmy:
<a href="http://www.adres-sklepu.pl/pl/content/3-regulamin">Treść linku</a>
I wydaje się że po kłopocie. Jednak takie rozwiązanie ma szereg wad:
- po przeniesieniu sklepu pod inną domenę link będzie dalej kierował na starą domenę
- jeśli zmienimy język na np. angielski – link będzie dalej kierował na stronę regulaminu po polsku. To będzie dość… irytujące dla obcokrajowców 😉
- jeśli zmienimy wygląd przyjaznego linku – frazy „regulamin” w jego wnętrzu na inny np. „regulamin-sklepu” (w Presta Shop odpowiada za to pole „Przyjazny adres URL”) – link w szablonie będzie kierował do strony, której nie ma – błąd 404
Znacznie lepszym wyjściem („dynamicznym”) jest użycie metody
getCMSLink()
Wtedy powyższy link zapiszemy poprzez:
<a href="{$link->getCMSLink(3)}">Treść linka</a>
Czyli po prostu podajemy jako argument ID strony CMS do której linkujemy. W naszym przypadku strona z regulaminem ma ID=3 (tutaj dokłaniej wyjaśniliśmy jak odczytać ID strony CMS)
I to wszystko. Presta Shop za nas ustali aktualny przyjazny link, włączony język i domenę sklepu.
W analogiczny sposób możemy linkować do kategorii CMS:
<a href="{$link->getCMSCategoryLink(3)}">Treść linku</a>
[…] dynamiczny link do strony lub kategorii CMS w szablonie […]