Tengo una pagina web con el tema Himalia, este tema, cuando tu pasabas el cursor por encima de una de las imágenes de los artículos que aparecen en en el home, esta imagen cambiaba por la segunda imagen que tenia el articulo. Es decir, tu ves la imagen principal del articulo y al poner el cursor encima de ella cambia a la segunda imagen e ese articulo. El problema esta en que ese efecto ya no lo hace y desconozco la razón por la cual ya no lo hace. Como puedo solucionarlo? Gracias.
URL del sitio: Contenido solo visible a usuarios registrados
Hola
Posiblemente tengas que actualizar los archivos del theme Himalia, sin embargo realiza una copia antes de los archivos o de todo tu theme, especialmente si has realizado modificaciones, usualmente modificaciones CSS
Puedes descargar el archivo del theme Himalia desde:
https://www.dropbox.com/s/l96t8k78dhktpmt/Himalia.zip?dl=0
Descomprimir en el servidor de manera que se reemplacen los archivos que tienes
Saludos.
Que archivos tengo que remplazar exactamente? Si actualizo todos los archivos pierdo algunas modificaciones que ya he realizado
Hola Joaquin.
Puede estar en varios sitios.
Prueba a sustituir todos los archivos productxxx.tpl y el archivo scenes.tpl
Descarga primero una copia de los archivos antes de realizar las modificaciones.
Un saludo
he modificado product.tpl scenes.tpl y productlist.tpl y no funciona? Algun archivo que pueda modificar?
Hola Joaquin.
Ok, vamos a realizarlo manualmente:
.- Edita el archivo Link.php que encontraras en la carpeta classes ( la carpeta esta en la raíz de la instalacion, no dentro de temes ) -> Link.php
.- Sobre la linea 411 tienes la función " getImageLink " con el siguiente código que termina sobre la linea 443 ( Mas o menos, puede variar 😉 )
public function getImageLink($name, $ids, $type = null) { $not_default = false; // Check if module is installed, enabled, customer is logged in and watermark logged option is on if (($type != '') && Configuration::get('WATERMARK_LOGGED') && (Module::isInstalled('watermark') && Module::isEnabled('watermark')) && isset(Context::getContext()->customer->id)) { $type .= '-'.Configuration::get('WATERMARK_HASH'); } // legacy mode or default image $theme = ((Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_.$ids.($type ? '-'.$type : '').'-'.(int)Context::getContext()->shop->id_theme.'.jpg')) ? '-'.Context::getContext()->shop->id_theme : ''); if ((Configuration::get('PS_LEGACY_IMAGES') && (file_exists(_PS_PROD_IMG_DIR_.$ids.($type ? '-'.$type : '').$theme.'.jpg'))) || ($not_default = strpos($ids, 'default') !== false)) { if ($this->allow == 1 && !$not_default) { $uri_path = __PS_BASE_URI__.$ids.($type ? '-'.$type : '').$theme.'/'.$name.'.jpg'; } else { $uri_path = _THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').$theme.'.jpg'; } } else { // if ids if of the form id_product-id_image, we want to extract the id_image part $split_ids = explode('-', $ids); $id_image = (isset($split_ids[1]) ? $split_ids[1] : $split_ids[0]); $theme = ((Shop::isFeatureActive() && file_exists(_PS_PROD_IMG_DIR_.Image::getImgFolderStatic($id_image).$id_image.($type ? '-'.$type : '').'-'.(int)Context::getContext()->shop->id_theme.'.jpg')) ? '-'.Context::getContext()->shop->id_theme : ''); if ($this->allow == 1) { $uri_path = __PS_BASE_URI__.$id_image.($type ? '-'.$type : '').$theme.'/'.$name.'.jpg'; } else { $uri_path = _THEME_PROD_DIR_.Image::getImgFolderStatic($id_image).$id_image.($type ? '-'.$type : '').$theme.'.jpg'; } } return $this->protocol_content.Tools::getMediaServer($uri_path).$uri_path; }
.- Justo debajo de esa función añade la siguiente:
/* añadir segunda imagen */ public function getImageLink2($name, $ids, $type = null) { if(isset($ids)) { $over_image = Db::getInstance()->getRow('SELECT id_image FROM '._DB_PREFIX_.'image WHERE id_product = '.(int)($ids).' AND position = 2'); if($over_image) $id_image = array_shift($over_image); else return '0'; } if ($this->allow == 1) { $uri_path = __PS_BASE_URI__.($id_image).($type ? '-'.$type : '').$theme.'/'.$name.'.jpg'; } else { $uri_path = _THEME_PROD_DIR_.Image::getImgFolderStatic($id_image).$id_image.($type ? '-'.$type : '').$theme.'.jpg'; } return $this->protocol_content.Tools::getMediaServer($uri_path).$uri_path; } /* fin funcion añadir segunda imagen */
.- Accede a themes -> Himalia y edita el archivo product-list.tpl
.- Sobre la linea 56 veras el siguiente código:
getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}"style="opacity: 1; background: url({$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default', $product.id_product)});" alt="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" title="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} itemprop="image" />
.- Modifica ese código por el siguiente:
getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}" onmouseover="this.src='{$link->getImageLink2($product.link_rewrite, $product.id_image , 'home_default')}';" onmouseout="this.src='{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}';" alt="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" title="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} itemprop="image" />
Revisa si con eso se muestran las dos imágenes.
Nota: Antes de realizar los cambios descarga los archivos originales para tener una copia 😉
Un saludo
vale ha funcionado, pero en los productos que no tienen 2 imagenes da un pequeño parpadeo. Eso se podría solucionar? Si no, puedo poner 2 imágenes y listo.
Hola Joaquin.
El tema es que siempre busca la segunda imagen e intenta cargarla, lo que puedes hacer es poner como segunda imagen la misma que la principal.
Un saludo
me he dado cuenta que el problema del parpadeo también pasa al buscar los articulos y al verlos en sus categorias.. No puedo limitar el que se cambie solo para los articulos 2 dos imagenes?. Si tengo que introducir una seguna imagen en mas de 5 mil articulos con una sola imagen creo que sera un desperdicio de espacio y de tiempo
Hoal Joaquin.
Es un poco mas complicado, nosotros solo podemos ofrecerte código standar, la otra opción seria sustituir los archivos por los que te paso Jhon, sustituyendo todos menos en los que realizaste las modificaciones de la plantilla.
Un saludo
Jhon me paso la plantilla himalia pero cuando subo el zip me pone ''carga de archivos erronea''. Intente cambiar de plantilla, borrar la himalia y volver a subirla pero tampoco me dejaba. Me aparecía el mismo error
Hola Joaquin.
Le pedí a un compañero de hosting que subiera el zip, lo tienes dentro de la carpeta " intermecom.es "
Antes de realizar el cambio, comprime la carpeta Himalia que tienes de tu instalación y la descargas para tener una copia de lo que tienes ahora.
Un saludo
muchas gracias