Salta al contenuto ID

Modificare il template ps_contactinfo.tpl in PrestaShop

PrestaShop ha un modulo che si chiama Informazioni di Contatto, viene utilizzato per mostrare le informazioni compilate in Parametri Negozio > Contatti > Negozi.

Il modulo ha due template, uno che produce il blocco che vediamo nel footer (ps_contactinfo.tpl) e l’altro nella pagina contatti (ps_contactinfo-rich.tpl)

Per modificarli facciamo un normale override: vanno copiati nella cartella /modules/ps_contactinfo/ del nostro tema Child. Il codice che troviamo ha varie inclusioni Twig, per stampare l’indirizzo c’è questa: {$contact_infos.address.formatted nofilter}

Il codice HTML prodotto è un unico blocco senza stili che elanca i campi: azienda, via, CAP, città, provincia, nazione. Questa soluzione risulta scomoda quando dobbiamo modificare il markup html, ad esempio per applicare uno stile diverso al nome dell’azienda, oppure per togliere o spostare alcune parti.

In realtà la variabile $contact_infos è un array che definisce anche le parti separate, e possiamo usarle come preferiamo:

$contact_infos = [
            'company' => Configuration::get('PS_SHOP_NAME'),
            'address' => [
                'formatted' => AddressFormat::generateAddress($address, array(), '<br />'),
                'address1' => $address->address1,
                'address2' => $address->address2,
                'postcode' => $address->postcode,
                'city' => $address->city,
                'state' => $is_state_multilang ? $state_name[$this->context->language->id] : $state_name,
                'country' => (new Country($address->id_country))->name[$this->context->language->id],
            ],
            'phone' => Configuration::get('PS_SHOP_PHONE'),
            'fax' => Configuration::get('PS_SHOP_FAX'),
            'email' => Configuration::get('PS_SHOP_EMAIL'),
        ];

Quindi, in alternativa a {$contact_infos.address.formatted} possiamo usare altri codici Twig per ricostruire le parti, ad esempio…

<h3 class="my-cool-company">{$contact_infos.company}</h3>
<div class="my-address-formatted">
{$contact_infos.address.address1 nofilter}
<br />
{$contact_infos.address.city nofilter}
<br />
{$contact_infos.address.postcode nofilter}
</div>

 

 

 

 

Comments (0)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna su