Parece mentira que en Magento, versión tras versión, sigan sin mejorar la visualización de la galería de imágenes en la vista de producto.
En la instalación por defecto de Magento (al menos hasta la versión 1.6.1), al hacer click en cualquiera de los iconos de la galería de imágenes, la imagen se muestra en una nueva ventana, cuando parece que lo lógico sería pasarla al visualizador, para permitir hacer zoom y ver los detalles.
Para conseguir este comportamiento, sólo tenemos que modificar el siguiente fichero:
app/design/frontend/<tema>/<vista>/template/catalog/product/view/media.phtml
Antes de la modificación (extraido de una instalación por defecto de Magento 1.6.1) tiene este aspecto:
<?php if (count($this->getGalleryImages()) > 0): ?> <div class="more-views"> <h2><?php echo $this->__('More Views') ?></h2> <ul> <?php foreach ($this->getGalleryImages() as $_image): ?> <li> <a href="#" onclick="popWin('<?php echo $this->getGalleryUrl($_image) ?>', 'gallery', 'width=300,height=300,left=0,top=0,location=no,status=yes,scrollbars=yes,resizable=yes'); return false;" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>"> <img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /> </a> </li> <?php endforeach; ?> </ul> </div> <?php endif; ?>
Y tenemos que modificar las siguientes líneas:
<?php if (count($this->getGalleryImages()) > 0): ?> <div class="more-views"> <h2><?php echo $this->__('More Views') ?></h2> <ul> <li> <a href="<?php echo $this->helper('catalog/image')->init($_product, 'image'); ?>" title="<?php echo $_product->getName();?>" onclick="$('image').src = this.href; return false;"> <img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(56); ?>" width="56" height="56" alt="" /> </a> </li> <?php foreach ($this->getGalleryImages() as $_image): ?> <li> <a href="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'image', $_image->getFile()); ?>" title="<?php echo $_product->getName();?>" onclick="$('image').src = this.href; return false;"> <img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(56); ?>" width="56" height="56" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" /> </a> </li> <?php endforeach; ?> </ul> </div> <?php endif; ?>
Como siempre, refrescar la cache y debería estar listo.
Prueba de comentario para ver la visualización con comentarios y comentarios abiertos
muchas gracias mi amigo!! fue de mucha ayuda, casi compro una extensión ya me estaba desesperando… Saludos
Gracias a ti Francisco por dejar el comentario. Me alegra que haya sido de ayuda.
Excelente a mi me funciono a la perfeccion, y sobre todo tener en cuenta que la imagen tienes q subirla en una gran tamaño si se hace el zoom, asi como tambien la imagen principal tienes que colocar el check de excluir para q no se repita en la galeria.
estimados tengo ese problema pero tengo instalado Magento 1.8.1 y no me resulta..me peuden ayudar por favor
No entiendo tu codigo bro, me podrias ayudar como hago.