Jump to content

Texto del Color Seleccionado en PS1.6 (Solucionado)


Jhony Ranger

Recommended Posts

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.

post-721046-0-58276800-1408605376_thumb.png

Edited by Jhony Ranger (see edit history)
Link to comment
Share on other sites

 

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

Buenas, de esta manera puedes hacerlo. Tan solo cambia el número de lineas y algo el código del label.

 

Un saludo

 

 

 

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 by Jhony Ranger (see edit history)
Link to comment
Share on other sites

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

Buenas Jonhy Ranger, ¿te ha servido al final?

 

Saludos

 

Si, tengo la sospecha y creo que el anterior también :D

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 by Jhony Ranger (see edit history)
Link to comment
Share on other sites

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 by Jhony Ranger (see edit history)
Link to comment
Share on other sites

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

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...