Jump to content

Ayuda! Undefined Index: Colors (En Local Funciona, Online No)¿?


anrub

Recommended Posts

Hola os cuento a ver si alguien me puede echar una mano.

He probado a poner los colores de los atributos en el homefeature, y lo hacen sin problemas en local añadiendo las líneas:

 <ul id="colores">
{foreach from=$product.colors key=id_attribute item=color}
			 <div><a id="color_{$id_attribute|intval}" href="{$product.link}" style="background: {$color.value}; display: block; float: left; width: 20px; height: 20px; margin: 5px 2px 5px 2px; cursor: pointer; border: 1px solid #D0D3D8;" title="{$color.name}"  ></a></div>
{/foreach}
		 </ul>

en el homefeatured.tpl dentro de templates/modules

 

El caso es que en local funciona correctamente, pero al ponerlo online los cambios no aparecen y me salta el error:

Notice: Undefined index: colors in /*******/tools/smarty/compile/a7071c7c2168f98635c08912512c35724a1db671.file.homefeatured.tpl.php on line 92

 

Si borro esta carpeta menos el index aparece todo igual de nuevo.

 

tengo activado forzar compilación, desactivado cache y no hay forma de hacerle aparecer los cambios. Estoy con PS 1.4.9, tengo dado permiso de escritura a las carpetas, e incluso he puesto $smarty->compile_check = true;

pero online no aparece nunca los cambios.

 

me podéis ayudar??

 

muchas gracias

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

He modificado algunas cosas poniendo if para que sólo aparezca cuando haya color, y un título de colores disponibles, pero en local sigue funcionando, y ahora online no aparece nada de nada, ni error siquiera, me estoy volviendo loco.

 


	 <ul id="colores">
			   {if !empty($product.colors)}

{l s='Colores disponibles:'}
   {foreach from=$product.colors key=id_attribute item=color}
			 <div><a id="color_{$id_attribute|intval}" href="{$product.link}" style="background: {$color.value}; display: block; float: left; width: 20px; height: 20px; margin: 5px 2px 5px 2px; cursor: pointer; border: 1px solid #D0D3D8;" title="{$color.name}"  ></a></div>
   {/foreach}
   {/if}
		 </ul>

 

alguien me puede echar una manilla???

Link to comment
Share on other sites

Me estoy volviendo loco, para colmo, la misma línea la pillan tanto en local como online si la coloco en product-list.tpl de mi template, pero en homefeatured no hay manera de hacerlo online, tirando siempre el mismo fallo.

He creado en override/classes/ el siguiente fichero Product.php (ver código adjunto), y ya os digo, en el único sitio donde da error en homefeatured.

 

Ya no se qué más hacer

 

<?php
class Product extends ProductCore
{
   public static function getProductsProperties($id_lang, $query_result)
{
           $products = parent::getProductsProperties($id_lang, $query_result);
           foreach ( $products as &$cat_product ) {
                   $product = new Product ( intval ( $cat_product[ 'id_product' ] ), true , intval ($id_lang));
                   $colors = array();
                   $attributesGroups = $product->getAttributesGroups((int)($id_lang));
                   if ( Db :: getInstance ()-> numRows ()) {
                                   foreach ( $attributesGroups AS $k => $row ) {
                                                   /* Color management */
                                                   if (isset( $row[ 'attribute_color' ] ) AND $row[ 'attribute_color' ] AND $row[ 'id_attribute_group' ] == $product->id_color_default ){
                                                                   $colors[$row[ 'id_attribute' ]][ 'value' ] = $row[ 'attribute_color' ] ;
                                                                   $colors[$row[ 'id_attribute' ]][ 'name' ] = $row[ 'attribute_name' ] ;
                                                                   $colors[$row[ 'id_attribute' ]][ 'id_image' ] =(( !empty($row[ 'id_image' ]) ) ? intval ( $row[ 'id_image' ] ) : - 1 );
                                                   }
                                   }
                   }
                   $cat_product[ 'colors' ] = $colors ;
           }
           return $products;
   }
}

Link to comment
Share on other sites

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