05
Ноя
2016

OpenCart 2 — вывод определенных атрибутов в карточке товара

Сегодня столкнулся с вопросом вывода определенных атрибутов в карточке товара. Как вы знаете, OpenCart по умолчанию выводит в цикле все группы и все атрибуты в них.
Нам же нужно было вывести только определенные атрибуты. Так как некоторые использовались только в каталоге для фильтра. В общем то может быть много разных ситуаций зачем это понадобится. Не будем тянуть резину и приступим к действиям. И так, поехали.

1. Открываем файл контролер catalog/controller/product/product.php
Находим:

$data['products'][] = array(

После него вставляем:

'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),

Визуально это получится примерно так:

1000

 

2. Открываем файл контролер catalog/view/theme/ваша_тема/product/product.tpl

Находим (примерно 49-65 строка):

<table class="table table-bordered">
                <?php foreach ($attribute_groups as $attribute_group) { ?>
                <thead>
                  <tr>
                    <td colspan="2"><strong><?php echo $attribute_group['name']; ?></strong></td>
                  </tr>
                </thead>
                <tbody>
                  <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
                  <tr>
                    <td><?php echo $attribute['name']; ?></td>
                    <td><?php echo $attribute['text']; ?></td>
                  </tr>
                  <?php } ?>
                </tbody>
                <?php } ?>
              </table>

И заменяем на:

<?php foreach ($attribute_groups as $attribute_group) { ?>
        <?php foreach ($attribute_group['attribute'] as $attribute) { ?>
            <?php if(in_array($attribute['attribute_id'], array(12))) { ?>
                <?php echo $attribute['name']; ?>
                <?php echo $attribute['text']; ?>
            <?php }?>
        <?php }?>
<?php }?>

Где цифра 12 это іd вашего атрибута. Можно выводить с нескольких, просто перечисляйте их через запятую (12,13,14,15).

Что бы узнать іd вашего атрибута, зайдите в админку. Каталог > Атрибуты >Атрибуты , найдите ваш атрибут и нажмите изменить. В конце строки браузера вы увидите цифру (attribute_id=12) . Эта цифра и есть id вашего атрибута.

Сохраняйте файлы, обязательно очистите кеш — Дополнения > Менеджер дополнений > Кнопка обновить.

Готово,  вывод определенных атрибутов в карточке товара осуществлен. Лично тестировал на ocStore 2.1.0.1.1.

 

 

Запись OpenCart 2 — вывод определенных атрибутов в карточке товара впервые появилась Di-Grand блог о создании сайтов.

Share

Тебе может это понравится...