Jump to content

SOLUCIONADO Enlace a la web del proveedor en la página del producto


Recommended Posts

Buenas tardes, llevo varios días intentado mostrar el logo del proveedor y vincular la imagen a la web del mismo en la página del producto. La imagen la he conseguido mostrar mediante el id_supplier de la clase Product. Mi problema está en que no consigo acceder a una dirección web almacenada en el campo dirección de proveedor, para vincular el logo con el sitio web del proveedor, ya que en la clase no está definido el campo adress, sólo el id_supplier y el supplier_name. ¿Alguién sabría como acceder a campos de la tabla que no están definidos en la clase? Muestro el código de la plantilla product.tpl. Muchas gracias de antemano.

 

{if $product->id_supplier > 0}
                <div class="proveedores"><a target="_blank" href="{$product->supplier_address}"><img src="{$img_sup_dir}{$product->id_supplier}.jpg"/></a></div>
{/if}

Edited by azroca (see edit history)
Link to comment
Share on other sites

Para tener acceso a esas variables en la pagina de producto tienes que sobreescribir el archivo ProductController.php

Crea un archivo en override / front / ProductController.php con este contenido

<?php
class ProductController extends ProductControllerCore
{
    public function initContent()
    {
        parent::initContent();
      	$supplier = new Supplier((int)$this->product->id_supplier, (int)$this->context->language->id);
	
		if (isset($supplier->id))
		{
	    $id_address = Address::getAddressIdBySupplierId($supplier->id);
            if (count($id_address))
           $this->context->smarty->assign('supplier_info', new Address((int)$id_address));
		}
    }
}

Sera necesario que elimines este archivo para que se vuelva a generar con los cambios del override

cache/class_index

Luego ya desde el product.tpl podrás acceder a la variable con:

{$supplier_info->address}
Link to comment
Share on other sites

Revisa esta guía de Nemo: http://nemops.com/prestashop-supplier-info-product-page/#.WGLFwGThDIU para sacar todos los datos del "Proveedor en la ficha del producto"

 

Ups edito mensaje que no me había saltado el mensaje de ventura.

 

Pues eso que tambien lo tienes explicado en la guía de Nemo..... pero vamos que viene a ser lo que te comenta Ventura...

Link to comment
Share on other sites

Te adjunto el fichero de "Nemo" (http://nemops.com/prestashop-supplier-info-product-page/#.WGLFwGThDIU) en este mismo post del foro (de la guía del post anterior  (no me había saltado el mensaje de ventura en su momento, xD, pero bueno ya que estoy completo el mensaje que quería completar) con el override: ProductController.php

Para meterlo en el directorio:

 

/override/controllers/front/

y luego poder imprimir en el "product.tpl" datos como:

 

{$supplier_address1} -> Direccion
{ $supplier_postcode} -> Codigo Postal
{$supplier_city}, {$supplier_state} -> Ciudad, Provincia
{$supplier_country} -> País

 

Testeado en 1.6.1.10

ProductController.php

Link to comment
Share on other sites

Muchisimas gracias por vuestras respuestas es justo lo que necesitaba. :)

Me alegro de que hayas podido resolver el problema de un modo u otro, si el tema ha sido solucionado, no se le olvide añadir la palabra "Solucionado": https://www.prestashop.com/forums/topic/269515-solucionado-%C2%BFcomo-poner-la-palabra-solucionado-en-el-titulo-del-tema/ al titulo del tema.

 

Saludos,

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...