Domyślnie Presta Shop nie umożliwia stworzenia strony kontaktowej z edytowalną treścią. Jest tam jedynie formularz. To dość duża niedogodność, bo zazwyczaj klienci klikają w ten link aby się dowiedzieć kto jest sprzedawcą. Chcą w ten sposób pozyskać także inne dane kontaktowe jak np. telefon albo e-mail. Właścicieli sklepów obliguje też poniekąd do tego tzw. Ustawa Konsumencka.
Wcześniej opisywaliśmy jak dodać tam edytowalne pole tekstowe dla starszych wersji: https://pskrk.com/prestashop-1-4-dodanie-tekstu-w-dziale-kontakt/
Dzisiaj przedstawimy krok po kroku jak wstawić w tym miejscu taki element w nowszych wersjach Presta Shop (1.6). Instrukcja jest dość analogiczna.
1. Strona CMS z danymi teleadresowymi sklepu.
Wchodzimy w panelu zarządzania w opcję Narzędzia » CMS.
Następnie dodajemy nową stronę poprzez link “Dodaj nową stronę”. Tytuł strony jest dowolny – wypełniamy jedynie pola oznaczone gwiazdką. Ustawiamy stronę jako włączoną (opublikowaną).
Przykładowe wypełnienie:
- Meta tytuł: Dane teleadresowe w dziale kontakt
- Zawartość strony: (Tutaj dane teleadresowe, które mają się wyświetlić)
- Wyświetlanie: TAK
Gdy zapiszemy nową stronę CMS – musimy odczytać i zanotować jej numer ID. Znajduje się on na liście stron CMS w kolumnie ID.
2. Modyfikacje PHP
Otwieramy plik:
/controllers/front/ContactController.php
Znajdujemy funkcję:
initContent()
Zamieniamy kod na jej końcu (może być nieco inny, ale idea jest ta sama):
$this->context->smarty->assign(array( 'contacts' => Contact::getContacts($this->context->language->id), 'message' => html_entity_decode(Tools::getValue('message')), 'contactKey' => $contactKey, ));
Na:
$cms = new CMS(6, intval($this->context->cookie->id_lang)); $this->context->smarty->assign(array( 'contacts' => Contact::getContacts($this->context->language->id), 'message' => html_entity_decode(Tools::getValue('message')), 'contactKey' => $contactKey, 'contactdatas' => $cms->content ));
Powyższa cyfra „6” to właśnie ID utworzonej strony CMS.
3. Modyfikacje HTML (w szablonie sklepu)
Edytujemy plik:
/themes/{NAZWA-NASZEGO-SZABLONU}/contact-form.tpl
Następnie wybieramy miejsce gdzie mają się pojawić dane kontaktowe. Tam następnie umieszczamy kod:
{$contactdatas}
Przykładowa modyfikacja tego pliku (uwaga w zależności od Twojego szablonu):
Kod:
<h3 class="page-subheading">{l s='send a message'}</h3> <div class="clearfix"> <div class="col-xs-12 col-md-3">
Zamieniamy na:
<h3 class="page-subheading">{l s='send a message'}</h3> <div class="clearfix"> <div class="col-xs-12 col-md-3"> {$contactdatas} </div> <div class="col-xs-12 col-md-3">
Następnie zawężamy kolumnę poprzez zamianę kodu:
<div class="col-xs-12 col-md-9">
na:
<div class="col-xs-12 col-md-6">
4. Wynik naszych zmian.
Przed modyfikacją:
Po modyfikacji:
Powodzenia!
[…] https://pskrk.com/dodawanie-informacji-teleadresowych-w-dziale-kontakt-z-mozliwoscia-ich-ed… […]
[…] Niestety w starszych wersjach PS odeszło się od tego rozwiązania. Nie ma nawet modułu, który by to realizował.. Na szczęście dodanie takiego tekstu w PrestaShop 1.6.x nie nastręcza dużego problemu i jest analogiczne do osadzenia go np. w dziale kontakt, co już wcześniej opisywaliśmy. […]
[…] Ten artykuł jest kalką idetnycznego rozwiązania z wersji PrestaShop 1.6: https://pskrk.com/dodawanie-informacji-teleadresowych-w-dziale-kontakt-z-mozliwoscia-ich-edycji/ […]
[…] Dodawanie informacji teleadresowych w dziale kontakt z możliwością ich edycji […]