Nalena Posted November 15, 2018 Share Posted November 15, 2018 (edited) 隆Hola a todos! Quer铆a ver si me pod茅is echar una mano. Necesito que a la hora de ver los atributos en el producto, cuando es una textura al pasar el rat贸n por encima se me vea en el bloque de al lado en grande. Haciendo pruebas con una imagen cualquier funciona correctamente pero no cuando lo intento hacer con las variables que forman las im谩genes de textura por lo que creo que lo que me ocurre es que no me est谩n pasando bien al codigo JS. Siendo el c贸digo que forma la imagen este: <img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" /> Las tengo declaradas tal que as铆 pero no hay forma, 驴alguna ayuda? :/ var imgdir = "{$img_col_dir}"; var imgatt = "{$id_attribute|intval}"; 聽 Edited March 12, 2019 by Nalena (see edit history) Link to comment Share on other sites More sharing options...
joseantgv Posted November 15, 2018 Share Posted November 15, 2018 1 hour ago, Nalena said: 隆Hola a todos! Quer铆a ver si me pod茅is echar una mano. Necesito que a la hora de ver los atributos en el producto, cuando es una textura al pasar el rat贸n por encima se me vea en el bloque de al lado en grande. Haciendo pruebas con una imagen cualquier funciona correctamente pero no cuando lo intento hacer con las variables que forman las im谩genes de textura por lo que creo que lo que me ocurre es que no me est谩n pasando bien al codigo JS. Siendo el c贸digo que forma la imagen este: <img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" /> Las tengo declaradas tal que as铆 pero no hay forma, 驴alguna ayuda? 馃槙 var imgdir = "{$img_col_dir}"; var imgatt = "{$id_attribute|intval}"; 聽 Pero ese TPL con el JS d贸nde est谩? En un fichero tuyo que lo a帽ades desde un hook? Seguramente esa variable Smarty todav铆a no est茅 asignada cuando procesas el TPL y tengas que hacer t煤 la asignaci贸n. Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 (edited) Yo uso 2 opciones, esta en los TPL <script> var $tokendb = '{$tokendbup}'; </script> Antes en el php modulo聽 $this->context->smarty->assign('tokendbup', $tokendbup); Tambien sirve si pones en el tpl {addJsDef $tokendbup=$tokendbup} Esta no lo he probado, pero creo que es para variables de texto que se pueden traducir {addJsDefL name=customizationIdMessage}{l s='Customization #' mod='blockcart' js=1}{/addJsDefL} 聽 Esta segunda opcion la uso para a帽adirla al Backoffice del prestashop, a帽adiendo el codigo en el fichero php del modulo public function hookActionAdminControllerSetMedia() { Media::addJsDef(array('$tokendbup' => 聽$tokendbup)); } 聽 Edited November 15, 2018 by gusman126 (see edit history) Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 He visto lo que quieres hacer Vas a usar un modulo desarrollado por ti? Vas a necesitar a帽adir todas las variables a tu modulo y asignarlas o vas a modificar los ficheros product.tpl y los dem谩s para hacer lo que quieres? comprueba los nombres de las variables en el mismo fichero que estas usando y a帽ade el script para asignarlas y usarlas en javascript o jquery 聽 Link to comment Share on other sites More sharing options...
Nalena Posted November 15, 2018 Author Share Posted November 15, 2018 隆Hola! Antes que nada mil gracias a los dos por contestar. Realmente no pretendo hacer ningun m贸dulo, o espero no necesitarlo, en principio pensaba que ser铆a algo sencillo pero igual se complica la cosa... Realmente estaba a帽adiendo el par de l铆nas de JS en el archivo product.tpl Como coment茅, si pongo una imagen cualquiera me la toma, pero no con las variables que forman los atributos de texturas por lo que supongo que el c贸digo JS no me anda tomando bien las variables. Este c贸digo est谩 en el archivo product.tpl y dejo en negrita las variables en cuesti贸n: <img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20"聽 /> Y arriba del archivo simplemente pongo el c贸digo: 聽 // Funciona document.getElementById("test").innerHTML='<img src="http://localhost/ps16119/themes/modern_fashion/img/test.jpg" width="250" height="250"/>'; // As铆 no var imgdir = "{$img_col_dir}"; var imgatt = "{$id_attribute|intval}"; document.getElementById("test").innerHTML='<img src="' + imgdir + imgdiratt +'.jpg" width="20" height="20"'; Realmente no s茅 si el c贸digo estar谩 mejor o peor, pero la primera parte funciona jajajaja Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 (edited) A帽ade el siguiente codigo en el fichero聽/themes/classic/templates/catalog/_partials/product-cover-thumbnails.tpl Despues de probar en product.tpl y otro, en este tambien ha funcionado聽bien聽product-details.tpl 聽 <script> window.onload = function() { $(document).ready(function() { var imgdir = "{$img_col_dir}"; var imgatt = "{$id_attribute|intval}"; document.getElementById("test").innerHTML='<img src="' + imgdir + imgatt +'.jpg" width="20" height="20"'; }); } </script> Recuerda a帽adir el elemento "test" , cuadro o donde quieras que se muestre 聽 Pero esto no va ha hacer que al pasar por el raton haga algo Edited November 15, 2018 by gusman126 (see edit history) Link to comment Share on other sites More sharing options...
Nalena Posted November 15, 2018 Author Share Posted November 15, 2018 No tengo esa ruta ni ning煤n archivo que se llame as铆, supongo que es porque estoy usando la versi贸n 1.6 :S Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 hace 9 minutos, Nalena dijo: No tengo esa ruta ni ning煤n archivo que se llame as铆, supongo que es porque estoy usando la versi贸n 1.6 :S entonces, SI usa product.tpl Link to comment Share on other sites More sharing options...
Nalena Posted November 15, 2018 Author Share Posted November 15, 2018 Vale, entonces si quiero que se muestre con el mouseover teniendo este c贸digo: <img src="{$img_col_dir}{$id_attribute|intval}.jpg" onmouseover="show()" /> A帽ado el c贸digo conforme me diste pero llamando a la funci贸n... window.onload = function() { 聽$(document).ready(show() { ... 聽 }); 聽} 聽 Y... deber铆a de funcionar pero no T.T Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 pues ni idea, eso ya deberas hacer pruebas directamente en la consola,聽 Teniendo las variables en la memoria del explorador puedes hacer pruebas directamente a帽adiendo el codigo en la consola, es lo que yo hago cuando necesito ver si un codigo java funciona sin tener que ir al fichero y cambiando cada 2x3 y actualizando 聽 聽 聽 Link to comment Share on other sites More sharing options...
Nalena Posted November 15, 2018 Author Share Posted November 15, 2018 Bueno, lo anterior est谩 arreglado, era fallo mio :/ Estando el c贸digo bien pruebo con las variables y nada, pruebo con una ruta completa bien 聽Seguir茅 dando vueltas a ver qu茅 puedo hacer... Mil gracias por la ayuda! Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 hace 3 minutos, Nalena dijo: Bueno, lo anterior est谩 arreglado, era fallo mio 馃槙 Estando el c贸digo bien pruebo con las variables y nada, pruebo con una ruta completa bien 聽Seguir茅 dando vueltas a ver qu茅 puedo hacer... Mil gracias por la ayuda! pues deberas comprobar si esta leyendo y aplicando bien las variables, usa un console.log() Link to comment Share on other sites More sharing options...
Nalena Posted November 15, 2018 Author Share Posted November 15, 2018 No, si es que el problema est谩 ah铆, al hacerlo simplemente me muestra聽"{$img_col_dir}"; {$id_attribute|intval}"; 聽Por lo que no s茅 si tengo que declarar esas variables en otro sitio, de diferente forma o qu茅 narices pasa u.u聽 Link to comment Share on other sites More sharing options...
gusman126 Posted November 15, 2018 Share Posted November 15, 2018 Usando聽 <script> window.onload = function() { $(document).ready(function() { var imgdir = "{$img_col_dir}"; var imgatt = "{$id_attribute|intval}"; console.log('Aqui la variable imgdir->'+imgdir+'<-'); console.log('Aqui la variable imgatt->'+imgatt+'<-'); }); } </script> me muestra en la consola Link to comment Share on other sites More sharing options...
Nalena Posted November 16, 2018 Author Share Posted November 16, 2018 Pf, lo revisar茅 m谩s tranquilamente este fin de semana y te cuento por aqu铆. 隆Millones de gracias, de verdad! Link to comment Share on other sites More sharing options...
gusman126 Posted November 16, 2018 Share Posted November 16, 2018 hace 1 minuto, Nalena dijo: Pf, lo revisar茅 m谩s tranquilamente este fin de semana y te cuento por aqu铆. 隆Millones de gracias, de verdad! de nada Link to comment Share on other sites More sharing options...
Nalena Posted November 19, 2018 Author Share Posted November 19, 2018 Aqui la variable imgdir->{$img_col_dir}<- Aqui la variable imgatt->{$id_attribute|intval}<- 聽 Nada, de verdad que es algo que no entiendo y yo pensaba que ser铆a un cambio facilito u.u Link to comment Share on other sites More sharing options...
Nalena Posted November 19, 2018 Author Share Posted November 19, 2018 Si no... alguien sabe de alg煤n m贸dulo que haga lo que necesito? Os adjunto imagen para ser un poco m谩s gr谩fica. B谩sicamente es que cuando el cliente deje el rat贸n sobre alguno de los atributos se muestre en grande al lado (d贸nde puse el cuadrado por ej) 馃槙 Algo que funciona perfectamente con una imagen cualquiera pero no usando las variables u.u Link to comment Share on other sites More sharing options...
gusman126 Posted November 19, 2018 Share Posted November 19, 2018 Un modulo no va a ser posible, tendras que pedir que lo hagan ,聽 Es algo muy especifico ademas de tener que a帽adir una caja en un sitio en concreto de la plantilla . Has pensado en hacer mas grande el cuadro que se muestra la imagen ? Tendrias que cambiar codigo CSS para que se viera bien en horizontal, pero puede ser una solucion Link to comment Share on other sites More sharing options...
Nalena Posted November 19, 2018 Author Share Posted November 19, 2018 S铆, pero el cliente reniega totalmente a eso 聽 Link to comment Share on other sites More sharing options...
gusman126 Posted November 19, 2018 Share Posted November 19, 2018 hace 1 hora, Nalena dijo: S铆, pero el cliente reniega totalmente a eso 聽 Ok pues entonces ya tendras que hacer mas pruebas o pedir que un profesional de los que estamos por aqui lo haga por un precio. 聽 聽 聽 Link to comment Share on other sites More sharing options...
Nalena Posted November 19, 2018 Author Share Posted November 19, 2018 Por supuesto, si alguien (o t煤 )聽est谩 dispuesto a ayudarme fuera de lo gratuito que me hable m谩s detenidamente por privado y lo comentamos 聽 Link to comment Share on other sites More sharing options...
gusman126 Posted November 20, 2018 Share Posted November 20, 2018 Finalmente se ha solucionado. Pon solucionado en el tema. 聽 聽 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now