Для показа аттрибутов на странице категоии (список товаров), нужно изменить products-list.tpl и CategoryController.php,
В файле CategoryController.php добавить новую функцию
public function getProductAttributeCombinations($products) {
$combinations = array();
foreach($products as $product)
{
// load product object
$product = new Product ($product['id_product'], $this->context->language->id);
// get the product combinations data
// create array combinations with key = id_product
$combinations[$product->id] = $product->getAttributeCombinations($this->context->language->id);
}
return $combinations;
}
и изменить
public function initContent()
{
parent::initContent();
$products = $this->category->getProducts($this->context->language->id, (int)$this->p, (int)$this->n, $this->orderBy, $this->orderWay);
$combinations = $this->getProductAttributeCombinations($products);
$this->context->smarty->assign('combinations', $combinations);
}
В файле products-list.tpl добавить вывод аттрибутов
{foreach from=$combinations key=k item=comb}
{if $k = $product.id_product}
<p class="comb_title">{$comb.group_name}</p>
<select>
{foreach from=$comb item=attr}
<option value="{$attr.id_attribute}">{$attr.attribute_name} {l s=': +'} {convertPrice price=$attr.unit_price_impact}</option>
{/foreach}
</select>
{/if}
{/foreach}
Больше ничего делать не нужно, должно работать.