Press "Enter" to skip to content

[PRESTASHOP 1.7] Błąd w SEO & URL: Słowo kluczowe „{id}” wymagane / Keyword „{id}” required for route

Admin 0

Jak się objawia błąd i z czego on wynika?

Jeśli korzystamy z zakupionego szablonu możemy natrafić na enigmatyczny błąd w dziale:

Konfiguruj -> Ruch -> SEO & URL

Dla języka PL będzie to:

Dla EN:

Jest o tyle frustrujący, że blokuje zapis w tej sekcji 🙁

Oczywiście nazwy reguły („tvcmsblog” itd.) mogą być inne w zależności od zastosowanego modułu.

Problem tkwi w tym, że system PrestaShop wymaga w tzw. slugu identyfikującego go numeru ID. Ten błąd oznacza, że tego ID nie ma albo nie może go odnaleźć.

Uproszczając slug jest to nazwa w linku URL bazująca na ID artykułu oraz jego nazwie. Np. dla artykułu o tytule „Oto mój artykuł o błędzie w PrestaShop” slug będzie miał postać: „oto-moj-artykul-o-bledzie-w-prestashop-99” a w przeglądarce np. : http://domena/oto-moj-artykul-o-bledzie-w-prestashop-99.html

Rozwiązanie problemu.

Rozwiązanie to odp. zmodyfikowanie pliku PHP we wskazanym module. Tutaj modułem będzie prawdopodobnie „tvcmsblog”. W Twoim przypadku – może być inaczej i należy to wydedukować z wyświetlanego błędu.

Otwieramy zatem plik:

Następnie próbujemy znaleźć kod odpowiedzialny za budowanie linku. Polegając na w/w błędzie będzie posiadał on w swojej konstrukcji zmienną:

W naszym przypadku była to zamiana w wystąpień:

Kod#1:

zamieniamy na:

Kod#2:

zamieniamy na:

Kod#3:

zamieniamy na:

Czyli jak widać po prostu do zmiennej sluga:

dopisujemy zmienną z ID:

Oczywiście jeśli korzystasz z innych modułów i błąd jest wskazywany w innej ścieżce – musisz zmienić to przez analogię.

Po zapisaniu zmian, wgraniu pliku PHP na serwer – bląd powinien zniknąć.

Dla pewności – w w/w dziale:

Konfiguruj -> Ruch -> SEO & URL

Dla testu wyłącz i włącz przyjazne linki:

1) Przyjazny adres URL –> NIE

2) Przyjazny adres URL –> TAK

grafika: wallpaperflare.com

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 !
Jak okiełznać taki błąd PHP po przeniesieniu na nowy serwer?