Если необходимы только названия цветов:
Откройте /themes/ваша-тема/product-list.tpl
после:
Код:
{foreach from=$products item=product name=products}
добавьте:
Код:
{assign var="attr" value=Product::getAttributesInformationsByProduct($product.id_product)}
и ниже:
Код:
{if $attr}
{foreach $attr as $at}
{if $at.id_attribute_group == 2}
{$at.attribute}
{/if}
{/foreach}
{/if}
Код:
2
- измените на соотв. глобальный ID группы содержащий цвет.
Если необходим и код цвета:
Откройте /controllers/front/CategoryController.php
после:
Код:
if ($product['id_product_attribute'] && isset($product['product_attribute_minimal_quantity']))
$product['minimal_quantity'] = $product['product_attribute_minimal_quantity'];
добавьте:
Код:
$_product = new Product ((int)$product['id_product']);
$attributes_groups = $_product->getAttributesGroups($this->context->language->id);
if (is_array($attributes_groups) && $attributes_groups)
{
foreach ($attributes_groups as $k => $row)
{
if ((isset($row['attribute_color']) && $row['attribute_color']) || (file_exists(_PS_COL_IMG_DIR_.$row['id_attribute'].'.jpg')))
{
$colors[$row['id_attribute']]['value'] = $row['attribute_color'];
$colors[$row['id_attribute']]['name'] = $row['attribute_name'];
if (!isset($colors[$row['id_attribute']]['attributes_quantity']))
$colors[$row['id_attribute']]['attributes_quantity'] = 0;
$colors[$row['id_attribute']]['attributes_quantity'] += (int)$row['quantity'];
}
}
$product['colors'] = (count($colors)) ? $colors : false;
}
В шаблоне /themes/ваша-тема/product-list.tpl используйте:
Код:
{if isset($product.colors) && $product.colors}
<ul class="colors">
{foreach from=$product.colors key='id_attribute' item='color'}
<li><span style="background: {$color.value};" title="{$color.name}">{$color.name}</span></li>
{/foreach}
</ul>
{/if}