Кто-то спрашивал, как решил я эту проблему. Отвечу здесь.
Возможно кому-то покажется геморрно, но мне подошло такое решение:
в списке товаров в категории выводим атрибут (подсмотрено на просторах интернет, не помню где
1. в catalog/controller/product/category.php
ищем
Код:
$this->data['products'][] = array(
и добавляем после 'description'
Код:
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
2. создаем атрибут, например "Коллекция:"
3. в /catalog/view/theme/ваша_тема/template/product/category.tpl добавляем после вывода названия товара (что-то типа
<div class="что у вас в шаблоне"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a><br/>) следующие строки:
Код:
<?php foreach($product['attribute_groups'] as $attribute_group) { ?>
<?php foreach($attribute_group['attribute'] as $attribute) { ?>
<?php if(in_array($attribute['attribute_id'], array(28))){?>
<tr>
<td><?php echo $attribute['name']; ?></td>
<td><?php echo $attribute['text']; ?></td>
</tr>
<?php } ?><?php } ?><?php } ?>
где
array(28) - цифры - это id атрибута, который нужно вывести (через запятую, если нужно несколько)
узнать id атрибута просто: в режиме редактирования атрибутов наведите курсор на "изменить" нужного атрибута - в ссылке, кроме всей прочей аброкадабры, увидите искомое
теперь созданный атрибут "Коллекция" будет выводиться под названием товара (естественно, не забываем прописать значение атрибута, например "Колорадо")
Немного доработал под себя:
Если нужно сделать атрибут ссылкой (например, на коллекцию Колорадо), то в значение атрибута пишем его со ссылкой (
<a href='Для просмотра ссылки Войди или Зарегистрируйся">Колорадо</a>)
Но по умолчанию Opencart выведет сущности, т.е. получите просто текст
<a href='Для просмотра ссылки Войди или Зарегистрируйся">Колорадо</a>. Чтобы получить нормальный вид, добавим в вывод атрибута
htmlspecialchars_decode ():
Меняем
Код:
...
<td><?php echo $attribute['text']; ?></td>
...
на
Код:
<td><?php echo htmlspecialchars_decode ($attribute['text']); ?></td>
то же самое делаем с выводом атрибутов в карточке товаров: меняем в /catalog/view/theme/ваша_тема/template/product/product.tpl
Код:
<tbody>
<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<tr>
<td><?php echo $attribute['name']; ?></td>
<td><?php echo $attribute['text']; ?></td>
</tr>
<?php } ?>
</tbody>
на
Код:
<tbody>
<?php foreach ($attribute_group['attribute'] as $attribute) { ?>
<tr>
<td><?php echo $attribute['name']; ?></td>
<td><?php echo htmlspecialchars_decode ($attribute['text']); ?></td>
</tr>
<?php } ?>
</tbody>
вуаля!
Минус: нужно указывать лишний атрибут. При использовании
"Attributic - Добавление атрибутов по шаблону в один клик" этот минус нивелируется
Плюс: могу выводить ссылку на категорию только там, где мне надо