Press "Enter" to skip to content

dynamiczny link do strony lub kategorii CMS w szablonie

Admin 1

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>

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Dziś trochę nietypowy artykuł. Od wersji 1.6 twórcy Presta Shop…