Jhony Ranger Posted August 21, 2014 Share Posted August 21, 2014 (edited) Buenos días a tod@s. Estuve probando varias opciones de cómo implementar un código que funcione para la versión 1.6 de Prestashop, el cual pueda mostrar el nombre del atributo del color seleccionado en la página de producto (product.tpl). Probé todas las opciones que encontré en el foro, y nada de nada. Alguien conoce algún método para ésta versión (PS1.6)? Adjunto una imágen para detallar mejor lo que intento lograr. Muchas gracias de antemano. Edited August 28, 2014 by Jhony Ranger (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted August 21, 2014 Share Posted August 21, 2014 Sigue las indicaciones de la respuesta #5 de este post http://www.prestashop.com/forums/topic/280526-solved-add-color-name-from-colorpickerclick-selection-to-product-page/ 1 Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 21, 2014 Author Share Posted August 21, 2014 Sigue las indicaciones de la respuesta #5 de este post http://www.prestashop.com/forums/topic/280526-solved-add-color-name-from-colorpickerclick-selection-to-product-page/ Muy amable, pero también seguí esos pasos, me saltó un error y se queda todo el panel de atributos mostrando un error en la línea (no recuerdo),... Esta noche le pego otro repaso. Puede ser por tener seleccionada la opción (mover JavaScripts al final)??? Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 23, 2014 Author Share Posted August 23, 2014 (edited) . Edited August 23, 2014 by Jhony Ranger (see edit history) Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 23, 2014 Author Share Posted August 23, 2014 (edited) Buenas, de esta manera puedes hacerlo. Tan solo cambia el número de lineas y algo el código del label. Un saludo Sigue las indicaciones de la respuesta #5 de este post http://www.prestashop.com/forums/topic/280526-solved-add-color-name-from-colorpickerclick-selection-to-product-page/ Hice exactamente lo que muestra el post, pero me salta lo mismo de la última vez que lo probé: Notice: Undefined index: theDefaultColor in /var/www/vhosts/xxx/httpdocs/pruebas/cache/smarty/compile/2c/a0/17/2ca0177e8d8ab09cb2f4c3af4814e057a9f1a26a.file.product.tpl.php on line 415 Notice: Trying to get property of non-object in /var/www/vhosts/xxx/httpdocs/pruebas/cache/smarty/compile/2c/a0/17/2ca0177e8d8ab09cb2f4c3af4814e057a9f1a26a.file.product.tpl.php on line 415 Copio y pego las partes del código que adapté: Paso 1 <ul id="color_to_pick_list" class="clearfix"> {assign var="default_colorpicker" value=""} {foreach from=$group.attributes key=id_attribute item=group_attribute} {* modification#1 : defining default color name *} {if $group.default == $id_attribute}{assign var=theDefaultColor value=$colors.$id_attribute.name}{/if} <li{if $group.default == $id_attribute} class="selected"{/if}> <a href="{$link->getProductLink($product)|escape:'html':'UTF-8'}" id="color_{$id_attribute|intval}" name="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" class="color_pick{if ($group.default == $id_attribute)} selected{/if}" style="background: {$colors.$id_attribute.value|escape:'html':'UTF-8'};" title="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" onclick="colorPickerClick(this);getProductAttribute();$('#theColorname').text('{$colors.$id_attribute.name}');{if $colors|@count > 0}$('#wrapResetImages').show('slow');{/if}"> {if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')} <img src="{$img_col_dir}{$id_attribute|intval}.jpg" alt="{$colors.$id_attribute.name|escape:'html':'UTF-8'}" width="20" height="20" /> {/if} </a> </li> {if ($group.default == $id_attribute)} {$default_colorpicker = $id_attribute} {/if} {/foreach} </ul> Paso 2 <div class="reference" id="product_reference" {if isset($groups) OR !$product->reference}style="display: none;"{/if}> <label class="labels">{l s='Reference:'} </label> <span class="editable">{$product->reference|escape:'htmlall':'UTF-8'}</span> </div> <span id="theColorname">{$theDefaultColor}</span> {*< También probé con div>*} <div class="reference" id="availabilitis"> Vacié el smarty después de forzar la compilación de la plantilla y sigue igual, también probé desactivando la caché por completo,... Edited August 23, 2014 by Jhony Ranger (see edit history) Link to comment Share on other sites More sharing options...
ventura Posted August 23, 2014 Share Posted August 23, 2014 Prueba con la solución de statictic que funciona como una campana seguro. Gracias por el aporte. 1 Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 24, 2014 Author Share Posted August 24, 2014 Buenas Jonhy Ranger, ¿te ha servido al final? Saludos Aún no lo probé, estoy haciendo pruebas actualizando de la 1.6.0.8 a la nueva 1.6.0.9. ya que dentro de nada viene la 0.10 y no se si es aconsejable saltar de la 0.8 a la 0.10 directamente (creo que no). Os mantengo informado sobre script del color, supongo que dentro de unas horas probaré. Me suena de haberlo visto por aquí y probarlo la semana pasada. Creéis que tiene algo que ver el tener un módulo llamado "overrider" especial para la plantilla? Muchas gracias. Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 25, 2014 Author Share Posted August 25, 2014 (edited) Buenas Jonhy Ranger, ¿te ha servido al final? Saludos Si, tengo la sospecha y creo que el anterior también Ahora el problema está en saber donde atacar al overrider, voy a investigar, porque cuando vacío la caché etc,.. se ve claramente que carga el script aparece y desaparece la palabra "Negro" que es el color predeterminado. Deduzco que carga algún overrider del js o el tpl si no me equivoco. Voy a investigar, ya que no se trata de la plantilla de origen. Si tenéis alguna pista, adelante, bienvenido es toda ayuda, ya que no soy ningún usuario avanzado que digamos. Revisaré las carpetas overrider y un módulo también con ese nombre por si hubiera algo que anule este código. Ya seguiré comentado como se desenvuelve... Muchas gracias. Edited August 25, 2014 by Jhony Ranger (see edit history) Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 28, 2014 Author Share Posted August 28, 2014 (edited) Buenas, ¿a qué override te refieres?... no creo que tenga nada que ver, si lo haces como te he mencionado arriba. Va perfecto. Un saludo Efectivamente, va perfecto, pero tengo un módulo que cuando está activo en el producto, anula ese javascript, ya que "carga por encima" o mejor dicho, sustituye el bloque de atributos de color. Es un módulo especial para cambiar el color y el fondo del producto. Visualmente parece el mismo, incluso utiliza el mismo css del original. Al fin encontré el dichoso archivo, no tenía nada que ver con el overrider de la plantilla, sino de ese módulo especial. Lo solucioné modificando ese archivo "extra" .tpl, al que le añadí estas modificaciones, incluso el javascript del final incrustado en el mismo archivo, si no, no funcionaba pese a tenerlo en el product.js de la plantilla utilizada. Moderadores así, da gusto, así como la colaboración de los demás foreros. GRACIAS!!! Edited August 28, 2014 by Jhony Ranger (see edit history) Link to comment Share on other sites More sharing options...
Jhony Ranger Posted August 28, 2014 Author Share Posted August 28, 2014 Okis perfecto, lo que no sabiá es que tenias un módulo para ello. Bueno, por favor si das el tema por solucionado, añádelo al título del primer post. Gracias y un saludo. Espero no hacer mucho el ridículo con la pregunta,.... Pero quisiera saber cómo marcarlo como "solucionado", ya que si edito el primer mensaje no veo la opción. Ya me pasó con anteriores post creados y no supe donde se encuentra la opción. Nuevamente muchas gracias. Link to comment Share on other sites More sharing options...
Recommended Posts