Press "Enter" to skip to content

dynamiczny link do strony lub kategorii CMS w szablonie

Admin 0

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ść linku</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>

Share This:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *