Доброго часу доби дорогий читачу, нещодавно перед мною постало завдання вивести в списку товарів виробника атрибути, і після небагатьох пошуків в google рішення прийшло саме собою, даний спосіб можна сміливо застосовувати не тільки на сторінку товарів виробника а й до сторінок категорій, пошуку, акцій і т.д. ... По суті різниці немає.
Не буду тягнути гуму і пояснювати для чого це потрібно, кожен кому потрібно зрозуміє для чого ... І так приступимо, до самої задачі і її вирішення.
Відкриваємо файл /catalog/controller/product/manufacturer.php і знаходимо в ньому рядок:
1 |
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', |
і відразу після нього вставляємо наступний рядок:
1 |
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']), |
Далі відкриваємо /catalog/view/theme/default/template/product/manufacturer_info.tpl і в потрібне нам місце наприклад замість опису або будь-яке інше місце вставляємо шматок коду
1 |
<divclass="description"><?php if($product['attribute_groups']){?><table><?php foreach($product['attribute_groups']as $attribute_group){?><thead><!—назви груп—><tr><tdcolspan="2"><?php echo $attribute_group['name'];?></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 }?></div> |
Якщо ж вам потрібно вивести тільки конкретні атрибути, то можна їх вивести за допомогою ID атрибута, для цього є два шляхи перший це приховати непотрібні атрибути і другий спосіб це показувати лише ті атрибути що нам потрібно.
І так перший спосіб це ми виводимо тільки ті атрибути які не будуть перераховані в коді нижче, в коді ж ми будемо перераховувати тільки ті ID атрибутів які хочемо приховати.
1 2 |
<?php if($attribute['attribute_id']<> Тут id атрибута який ховаємо {?> <?php }?> |
Ну а в другому способі ми виведемо тільки потрібні нам атрибути:
1 |
<?php if(in_array($attribute['attribute_id'], array(1,2,3,5,6,7))){?> |
Як це все буде виглядати на прикладі ви можете побачити нижче:
1 2 3 4 5 6 7 8 9 10 |
<?php foreach($product['attribute_groups'] as $attribute_group) { ?> <?php foreach($attribute_group['attribute'] as $attribute) { ?> <?php if(in_array($attribute['attribute_id'], array(15,17))){?> <tr> <td><?php echo $attribute['name']; ?></td> <td><?php echo $attribute['text']; ?></td> </tr> <?php } ?> <?php } ?> <?php } ?> |
Якщо ви не знаєте як дізнатися ID потрібного атрибуту, то це простіше простого, йдете в адмінку знаходите потрібний вам атрибут і натискаєте змінити, після дивимося посилання в рядку браузера і на ссилці дивимося attribute_id = 0000 де 0000 це і є потрібний нам ID атрибута.
Ось таким нескладним способом ми вивели список атрибутів на потрібну сторінку, удачі Вам.
Немає коментарів
Ви можете залишити коментар першим.