Dokumentacja - przyjazne linki dla PrestaShop

Instrukcja instalacji i obs艂ugi modu艂u Przyjaznych link贸w - URL bez ID dla PrestaShop od X13.pl
1.7.X  1.6.X 
1.3.0 / 2020-05-04
zobacz changelog

Przed instalacj膮 i konfiguracj膮 modu艂u zapraszamy do zapoznania si臋 z instrukcj膮.

Wymagania instalacyjne

Modu艂 wymaga kilku podstawowych us艂ug na serwerze, kt贸re w wi臋kszo艣ci przypadk贸w s膮 aktywne.
Gdyby kt贸ra艣 z wymienionych opcji nie by艂a dost臋pna - nale偶y j膮 w艂膮czy膰 w panelu serwera lub napisa膰 do administratora.

  1. PHP: 5.4 - 7.4
  2. ionCube: tak

Instalacja

Modu艂 mo偶esz znale藕膰 na li艣cie jako

  1. Nazwa: Przyjazne linki
  2. Opis: Przyjazne linki - usu艅 ID z linku oraz domy艣lny kod iso z j臋zyka
  3. Autor: x13.pl
  4. Kategoria: Funkcjonalno艣膰 sklepu
  5. Filtruj po: Zainstalowane i niezainstalowane / Aktywne i nieaktywne

Konfiguracja

Podstawowa konfiguracja

W module mo偶emy ukry膰 ID dla wybranych grup link贸w, takich jak:

  • Produkty
  • Kategorie
  • Producenci
  • Dostawcy
  • Kategorie CMS
  • CMS
Robimy to poprzez zmienienie opcji z NIE na TAK.

Kolejn膮 istotn膮 opcj膮 modu艂u jest mo偶liwo艣膰 usuwania kodu ISO domy艣lnego j臋zyka czyli zamiast domena.pl/pl/ otrzymujemy link domena.pl/, by w艂膮czy膰 t膮 opcj臋 wystarczy w polu J臋zyk ustawi膰 TAK.

Sprawdzenie mo偶liwo艣ci korzystania z overid贸w

Po zmianie, i od艣wie偶eniu strony sklepu linki powinny automatyczni si臋 zmieni膰, je艣li to nie nast膮pi musimy sprawdzi膰 czy w opcjach Zaawansowane -> Wydajno艣膰 przy Wy艂膮cz wszystkie nadpisywania mamy wybran膮 opcj臋 NIE, je艣li nie zmieniamy jej wyb贸r.

Modu艂 automatycznie czy艣ci cache link贸w, po zmianie struktury lub opcji linki powinny by膰 automatycznie od艣wie偶one, gdyby jednak tak si臋 nie sta艂o nale偶y wyczy艣ci膰 cache r臋cznie.
Wchodzimy w Zaawansowane -> Wydajno艣膰 i wybieramy Wyczy艣膰 pami臋膰 podr臋czn膮 - w prawym g贸rnym roku.

Zaawansowana konfiguracja

W module istnieje opcja ustawienia indywidualnej struktury link贸w, by to zrobi膰 nale偶y w opcji Zaawansowane ustawienia ustawi膰 wyb贸r na TAK.
Po zmianie ustawienia pod ka偶d膮 z w艂膮czonych opcji usuwania ID pojawi si臋 pole Ustawienia struktury link贸w dla w kt贸rym wpisana jest domy艣lna struktura linku.

Mo偶emy w ka偶dym z tych p贸l edytowa膰 schemat do tworzenia link贸w, pod polem do wpisywania mamy list臋 znacznik贸w jakie mog膮 by膰 w nich u偶yte, i np dla strony produktu to:
{rewrite}* - dodaje adres wpisany w polu (Przyjazny adres URL) na karcie produktu, czyli np koszulka-w-kwiatki
{category} - dodaje g艂贸wn膮 kategori臋 do linku czyli np bez-rekawka
{categories} - dodaje ca艂kowit膮 艣cie偶k臋 kategorii do linku produktu czyli np dla-kobiet/koszulki/bez-rekawka

znaczniki {category} oraz {categories} mog膮 by膰 wpisane r贸wnie偶 jako {category:/} oraz {categories:/} w takim przypadku utworzy si臋 za nimi automatycznie znak / czyli np zamiast bez-rekawka, b臋dzie adres bez-rekawka/.

W przypadku definiowania struktury link贸w dla kategorii mo偶emy doda膰 r贸wnie偶 znacznik {parents} kt贸ry dodaje rodzica kategorii do linku czyli np zamiast bez-rekawka otrzymujemy adres koszulki/bez-rekawka.

Zmiany w szablonie dla

Modyfikacja wymagana jest tylko w przypadku w艂膮czenia opcji ukrywania domy艣lnego j臋zyka sklepu z link贸w.

PrestaShop 1.6.X艁膮czymy si臋 przez FTP i wybieramy folder themes/nazwa-tematu/js/modules/blocklayered/blocklayered.js - edytujemy plik, oraz odszukujemy w nim:
url: baseDir + 'modules/blocklayered/blocklayered-ajax.php',
zmieniamy na
url: baseDir + 'modules/blocklayered/blocklayered-ajax.php?id_lang='+x13LangId,

Od wersji 1.3.0 modu艂 automatycznie podmienia linki w tych elementach, zmiany wprowadzamy tylko w przypadku problemu z automatyczn膮 podmian膮 link贸w do takich element贸w jak logo (wszystkie wersje PrestaShop), czy tez ikonk臋 home w breadcumb dla PrestaShop 1.5 i 1.6.

W przypadku PrestaShop i ustawionej opcji ukrywania domy艣lnego j臋zyka sklepu, klikaj膮c na logo b臋dziemy przenosili si臋 na stron臋 sklepu z j臋zykiem domy艣lnym, zamiast wybranym. By poprawi膰 ten problem musimy edytowa膰 szablon wg poni偶szego opisu.

PrestaShop 1.7.X
艁膮czymy si臋 przez FTP i wybieramy folder themes/nazwa-tematu/templates/_partials/header.tpl - edytujemy plik.
odszukujemy w nim:
<a href="{$urls.base_url}">
    <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
</a>
zmieniamy na
<a href="{$logo_lang_url}">
    <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
</a>
Kolejny plik kt贸ry musimy edytowa膰 na podobnej zasadzie znajduje si臋 w themes/nazwa-tematu/templates/checkout/_partials/header.tpl - r贸wnie偶 edytujemy plik:
<a href="{$urls.base_url}">
    <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
</a>
zmieniamy na
<a href="{$logo_lang_url}">
    <img class="logo img-responsive" src="{$shop.logo}" alt="{$shop.name}">
</a>


PrestaShop 1.6.X oraz 1.5.X
艁膮czymy si臋 przez FTP i wybieramy folder themes/nazwa-tematu/header.tpl - edytujemy plik:
odszukujemy w nim:
<a href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{$shop_name|escape:'html':'UTF-8'}">
	<img class="logo img-responsive" src="{$logo_url}" alt="{$shop_name|escape:'html':'UTF-8'}"{if isset($logo_image_width) && $logo_image_width} width="{$logo_image_width}"{/if}{if isset($logo_image_height) && $logo_image_height} height="{$logo_image_height}"{/if}/>
</a>
zmieniamy na
<a href="{$logo_lang_url}" title="{$shop_name|escape:'html':'UTF-8'}">
	<img class="logo img-responsive" src="{$logo_url}" alt="{$shop_name|escape:'html':'UTF-8'}"{if isset($logo_image_width) && $logo_image_width} width="{$logo_image_width}"{/if}{if isset($logo_image_height) && $logo_image_height} height="{$logo_image_height}"{/if}/>
</a>

Uwagi

Modu艂 tworzy przekierowania 301 tylko z domy艣lnego formatu link贸w z PrestaShop (je艣li by艂y wcze艣niej edytowane, przekierowania nie zostan膮 utworzone).


Modu艂 nie sprawdza konflikt贸w link贸w mi臋dzy grupami - np link do kategorii i podstrony mo偶e by膰 taki sam (przy w艂膮czonych zaawansowanych ustawieniach modu艂u). W takiej sytuacji tylko 1den z link贸w zadzia艂a.


W przypadku zmiany struktury link贸w w mi臋dzyczasie gdy modu艂 jest ju偶 zainstalowany, przekierowania 301 nie zostan膮 utworzone. B臋d膮 dzia艂a艂y tylko z domy艣lnej struktury link贸w.