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)