Czasami zachodzi potrzeba umieszczenia dodatkowych informacji tekstowych w dziale kontakt. Specyfikacja naszej sprzedaży wymusza np. poinformowanie klientów o miejscu odbioru osobistego, terminach pracy zespołu sprzedaży albo innych ważnych informacjach. Niestety strona kontaktowa to dość statyczna strona i nie ma tam po prostu pola tekstowego gdzie można wprowadzić opis. Tą prostą modyfikacją uzupełnimy sklep o tę funcjonalność.
Wielokrotnie poruszaliśmy już ten temat w artykułach:
PrestaShop 1.7:
PrestaShop 1.7 – edytowalne dane teleadresowe w dziale kontakt
PrestaShop 1.6:
Dodawanie informacji teleadresowych w dziale kontakt z możliwością ich edycji
Wersja PrestaShop 8.2.x wymaga nieco innego podejścia. Po prostu wykorzysujemy inny moduł. Idea jest taka sama. Oto szczegóły.
Zawartość artykułu
Dodanie strony z treścią
W dziale:
Ulepszanie -> Wygląd -> Strony
Utwórz dowolną nową stronę (tytuł nie ma znaczenia) i wprowadź w niej (opis) tekst który ma się pojawić w dziale kontakt. Następnie zapisz i zanotuj ID tej strony
Modyfikacja PHP
Przeedytuj plik:
nano modules/contactform/contactform.php
Znajdź funkcję:
public function getWidgetVariables($hookName = null, array $configuration = [])
Kod, który znajduje się na jej końcu:
return [ 'contact' => $this->contact, 'notifications' => $notifications, 'token' => $this->context->cookie->contactFormToken, 'id_module' => $this->id, ];
Zamień na:
$cmsInfo = new CMS(11, intval($this->context->cookie->id_lang)); return [ 'contact' => $this->contact, 'notifications' => $notifications, 'token' => $this->context->cookie->contactFormToken, 'id_module' => $this->id, 'cmsinfo' => $cmsInfo->content ];
Oczywiście zamiast „11” podaj ID Twojej strony z treścią.
Dodanie wartości zmiennej w kodzie HTML
Przeedytuj plik:
themes/{SZABLON}/modules/contactform/views/templates/widget/contactform.tpl
np.
themes/classic/modules/contactform/views/templates/widget/contactform.tpl
Jeśli używasz innego szablonu niż domyślny zamiast „classic” podaj nazwę Twojego szablonu tj. folder w którym jest on umieszczony na serwerze FTP
Na końcu tego pliku wklej:
<section class="contact-aditionals"> {$cmsinfo nofilter} </section>
Albo zgrabniej otocz to warunkiem IF:
{if $cmsinfo} <section class="contact-aditionals"> {$cmsinfo nofilter} </section> {/if}
Wyczyść cache sklepu w dziale „Wydajność” jeśli zmiany nie są widoczne.
Koniecznie daj znać na naszym FB czy zmiana się powiodła 😉
grafika:wallpaperflare.com
[…] DLA WERSJI PRESTASHOP 8.x szukaj pomocy tutaj […]