anrub Posted February 23, 2013 Share Posted February 23, 2013 (edited) 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 February 23, 2013 by anrub (see edit history) Link to comment Share on other sites More sharing options...
anrub Posted February 24, 2013 Author Share Posted February 24, 2013 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 More sharing options...
anrub Posted February 25, 2013 Author Share Posted February 25, 2013 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 More sharing options...
Recommended Posts