Mostrando información del proveedor en la ficha del producto en Prestashop 1.6

Es cierto que tenemos módulos disponibles en la Comunidad, que nos pueden servir para mostrar “parte” de la información de los proveedores en la ficha del producto en Prestashop 1.6

Otra opción que nos propone “Nemo” en la que no trabajamos con módulos es la siguiente: (Hemos traducido la guía al idioma de Cervantes)

Crear un override en el directorio:

/override/controllers/front/

con el nombre “ProductController.php” y el siguiente contenido

<?php
class ProductController extends ProductControllerCore
{
public function initContent()
{
parent::initContent();
if($this->product->id_supplier) {
$id_supplier_address = Address::getAddressIdBySupplierId($this->product->id_supplier);
$supplier_address = new Address($id_supplier_address);
}
if (Validate::isLoadedObject($supplier_address))
{
$this->context->smarty->assign(array(
'supplier_country'=> $supplier_address->country,
'supplier_company'=> $supplier_address->company,
'supplier_address1'=> $supplier_address->address1,
'supplier_postcode'=> $supplier_address->postcode,
'supplier_city'=> $supplier_address->city,
'supplier_phone'=> $supplier_address->phone,
'supplier_state' => State::getNameById($supplier_address->id_state),
'supplier_vat_number'=> $supplier_address->vat_number,
));
}
}
}

El siguiente paso, es ir al fichero: “/themes/tu-plantilla/product.tpl” y añadir el siguiente código:

{if $product->id_supplier}
<h4><a href="{$link->getSupplierLink($product->id_supplier)}"><strong>{$product->supplier_name}</strong></a></h4>
<ul>
<ul>
<li>{$supplier_address1}</li>
<li>{$supplier_postcode}</li>
<li>{$supplier_city}, {$supplier_state}</li>
<li>{$supplier_country}</li>
</ul>
</ul>
{if $supplier_vat_number}
<ul>
<ul>
<li>{$supplier_vat_number}</li>
</ul>
</ul>
{/if}
{/if}

debajo de:

{if !$content_only}
<!-- usefull links-->
<ul id="usefull_link_block" class="clearfix no-print">{if $HOOK_EXTRA_LEFT}{$HOOK_EXTRA_LEFT}{/if}
<li class="print"><a>
{l s='Print'}
</a></li>
</ul>
{/if}

A modo de “aclaración” explicó que imprime cada “variable”:

{$supplier_address1}

—-

{$supplier_postcode}

—-

{$product->supplier_name}

El resultado final sería el siguiente:

Recordar limpiar cache en la pestaña Parámetros Avanzados -> Rendimiento

Si el override no carga, eliminar fichero /cache/class_index.php

Probado en Prestashop 1.6.1.10

Print Friendly

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *