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: http://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:
1 |
/controllers/front/ContactController.php |
Znajdujemy funkcję:
1 |
initContent() |
Zamieniamy kod na jej końcu (może być nieco inny, ale idea jest ta sama):
1 2 3 4 5 |
$this->context->smarty->assign(array( 'contacts' => Contact::getContacts($this->context->language->id), 'message' => html_entity_decode(Tools::getValue('message')), 'contactKey' => $contactKey, )); |
Na:
1 2 3 4 5 6 7 8 |
$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:
1 |
/themes/{NAZWA-NASZEGO-SZABLONU}/contact-form.tpl |
Następnie wybieramy miejsce gdzie mają się pojawić dane kontaktowe. Tam następnie umieszczamy kod:
1 |
{$contactdatas} |
Przykładowa modyfikacja tego pliku (uwaga w zależności od Twojego szablonu):
Kod:
1 2 3 |
<h3 class="page-subheading">{l s='send a message'}</h3> <div class="clearfix"> <div class="col-xs-12 col-md-3"> |
Zamieniamy na:
1 2 3 4 5 6 |
<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:
1 |
<div class="col-xs-12 col-md-9"> |
na:
1 |
<div class="col-xs-12 col-md-6"> |
4. Wynik naszych zmian.
Przed modyfikacją:
Po modyfikacji:
Powodzenia!
[…] http://pskrk.com/dodawanie-informacji-teleadresowych-w-dziale-kontakt-z-mozliwoscia-ich-ed… […]