Descuento 20% Diciembre
Plugin Optimización de Imágenes Gratuito para WordPress
Lunes, 07 Noviembre 2011 14:15

Mostrar logo del fabricante en la ficha de producto de VirtueMart

Escrito por 
CMS:  Joomla! |  Versión:  1.5.x |  Nivel de dificultad:  Básico |  Tiempo estimado de lectura:  10 minutos


logo fabricante virtuemartEn Virtuemart, cuando seleccionamos la opción de mostrar los datos del fabricante,  vemos que se nos muestra un enlace a la ficha del fabricante con su nombre entre comillas. No existe una opción para mostrar otros datos. Con una sencilla modificación del código de Virtuemart podremos lograr que se muestre el logo del fabricante u otra información que incluyamos en la descripción del mismo.

En primer lugar deberemos hacer que se muestre la información del fabricante. Para ello deberemos acceder a la Configuración del Virtuemart y entrar en la pestaña Sitio. A continuación, dentro del parámetro “Seleccione un tema para su tienda” deberemos pulsar en el enlace Configuración. Se mostrarán los parámetros de configuración del tema de Virtuemart que estemos usando. Aquí habrá que seleccionar el valor Yes para el parámetro Show Manufacturer Link?.

A continuación, dentro de la administración de Virtuemart, tendremos que seleccionar en el menú de la izquierda la opción Fabricante y Listar Fabricantes. Se mostrará un listado de los fabricantes que tenemos dados de alta. Entramos en cada una de las fichas y agregamos la imagen en el campo Descripción. Para ello, podemos utilizar el editor.

A Continuación, tenemos que editar el archivo administrator/components/com_virtuemart/html/shop.product_details.php
Deberemos buscar el siguiente código (en la línea 266 aproximadamente):

if( $manufacturer_id && !empty($manufacturer_name) ) {
$link = "$mosConfig_live_site/index2.php?page=shop.manufacturer_page&manufacturer_id=$manufacturer_id&output=lite&option=com_virtuemart&Itemid=".$Itemid;
$text = '( '.$manufacturer_name.' )';
$manufacturer_link .= vmPopupLink( $link, $text );

// Avoid JavaScript on PDF Output
if( @$_REQUEST['output'] == "pdf" )
$manufacturer_link = "<a href=\"$link\" target=\"_blank\" title=\"$text\">$text</a>";
}

Lo cambiamos por el siguiente:

if( $manufacturer_id && !empty($manufacturer_name) ) {
$link = "$mosConfig_live_site/index2.php?page=shop.manufacturer_page&amp;manufacturer_id=$manufacturer_id&amp;output=lite&amp;option=com_virtuemart&amp;Itemid=".$Itemid;
$text = '( '.$manufacturer_name.' )';
$manufacturer_link .= vmPopupLink( $link, $text );
$q = "SELECT mf_desc FROM #__{vm}_manufacturer WHERE manufacturer_id='$manufacturer_id'";
$db->query($q);
$db->next_record();
$descripcion_fabricante = $db->f("mf_desc");

// Avoid JavaScript on PDF Output
//if( @$_REQUEST['output'] == "pdf" )
$manufacturer_link = "<a href=\"$link\" target=\"_blank\" title=\"$text\">$descripcion_fabricante</a>";
}

Lo que estamos haciendo es obtener el valor de la descripción del fabricante y cargar ese dato en lugar del nombre con el enlace.

Una vez cambiado esto (es importante hacer una copia de seguridad antes de los cambios por si cometemos algún error) ya se tendrían que mostrar los logos de los fabricantes.

Si queremos colocar el logo del fabricante en otra parte de la ficha de producto deberemos editar la plantilla de detalles de producto que estemos usando y buscar un código similar a este:

<?php if( $this->get_cfg('showManufacturerLink')) : ?>
<div> <?php echo $manufacturer_link ?><br />
</div>
<?php endif; ?>

Es posible que pueda variar entre distintas plantillas. Deberemos cortar ese código y pegarlo en el lugar donde queramos mostrar el logo.

Hemos preparado un vídeo tutorial donde se explican los pasos a seguir con mayor detalle:


¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop




Plugin Optimización de Imágenes Gratuito para WordPress