Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вывод характеристик в рубриках - ocStore 3.0.2.0


Recommended Posts

Здравствуйте, уважаемые специалисты,

Прошу совета.

Как вывести Характеристики товара + артикул, вместо описания в рубриках???

 

То есть, если характеристики есть у товара, выводим их с артикулом, если они отсутствуют, выводим описание.

 

Пример на скриншоте:

 

434796320_-.thumb.jpg.8c3edee745b88d78f91ceb731e816d0f.jpg

 

 

В карточке товара в файле "product.twig" у меня выводятся характеристики + артикул первой строкой с помощью такого кода:

 

						{% if attribute_groups and (oct_ultrastore_data.product_atributes is defined and oct_ultrastore_data.product_atributes == 'on') %}
						<div class="us-product-attr">
							<div class="us-product-attr-top d-flex justify-content-between align-items-center">
								<div class="us-product-attr-title">{{ oct_product_attributes }}</div>
								<a href="javascript:;" onclick="scrollToElement('#us-product-attributes');" class="us-product-link">{{ oct_product_all_attributes }}</a>
							</div>
							<div class="us-product-attr-cont">
{% if oct_ultrastore_data.product_model is defined and oct_ultrastore_data.product_model == 'on' %}
<div class="us-product-attr-item d-flex justify-content-between"><span class="myarnikul">{{ text_model }}</span> <span class="myarnikul">{{ model }}</span></div>
{% endif %}							
							{% set break = 1 %}
							{% for attribute_group in attribute_groups %}
							{% for attribute in attribute_group.attribute if break != 6 %}
								<div class="us-product-attr-item d-flex justify-content-between">
									<span>{{ attribute.name }}:</span>
									<span>{{ attribute.text }}</span>
								</div>
							{% set break = break + 1 %}
							{% endfor %}
							{% endfor %}
							</div>
						</div>
						{% endif %}		

 

 

Описание в категориях выводится таким кодом сейчас:

 

{% if (product.description and product.description|length > 3) or (oct_ultrastore_data.category_product_desc is defined and oct_ultrastore_data.category_product_desc == 'on') %}<div class="us-product-list-description">{{ product.description }}</div>{% endif %}

 

Как код вывода характеристик из карточки товара правильно вставить в файл category.twig чтобы данные начали выводится???

Если я его копирую, ничего не происходит.

Наверно нужно исправить как-то контролер именно категории по адресу /catalog/controller/product/category.php. Подскажите, пожалуйста, как?

 

 

 

 

 

Змінено користувачем Densport
Надіслати
Поділитися на інших сайтах


1 час назад, Densport сказал:

Наверно нужно исправить как-то контролер именно категории

Да, конечно
И добавить получение атрибутов
Но имейте ввиду, что на 1 товар из списка вы получает еще 2 дополнительных запроса

Надіслати
Поділитися на інших сайтах

В 12.10.2019 в 12:42, chukcha сказал:

Да, конечно
И добавить получение атрибутов
Но имейте ввиду, что на 1 товар из списка вы получает еще 2 дополнительных запроса

 

Я нашел в сети такой способ вывода. НО у меня он не работает, подскажите, пожалуйста, в чем может быть причина?

 

1) в контроллер категории, в массив $data['products'][] = array(   добавил этот код:

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



И У МЕНЯ ПОЛУЧИЛОСЬ ТАК:

$data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(trim(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'))), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
					'attribute'      => $this->model_catalog_product->getProductAttributes($result['product_id']),
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
					'rating'      => $result['rating'],
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
				);

 

2) В файл шаблона категории, чтобы вывелись характеристики, вставил этот код:

 

Цитата

<?php if($product['attribute']){foreach($product['attribute'] as $attribute_group){if($attribute_group['attribute_group_id']==7){ ?>
                <?php $sep="";foreach($attribute_group['attribute'] as $attribute) { ?>
                <?php echo $sep.$attribute['name'].": ".$attribute['text']; ?>
                <?php $sep=", ";} ?>
                <?php }}} ?>

 

И результата нет. Не выводятся характеристики.

 

 

P.S

В карточке товара в моем шаблоне сейчас выводятся краткие характеристики + артикул "таким кодом":

 

						{% if attribute_groups and (oct_ultrastore_data.product_atributes is defined and oct_ultrastore_data.product_atributes == 'on') %}
						<div class="us-product-attr">
							<div class="us-product-attr-top d-flex justify-content-between align-items-center">
								<div class="us-product-attr-title">{{ oct_product_attributes }}</div>
								<a href="javascript:;" onclick="scrollToElement('#us-product-attributes');" class="us-product-link">{{ oct_product_all_attributes }}</a>
							</div>
							<div class="us-product-attr-cont">
{% if oct_ultrastore_data.product_model is defined and oct_ultrastore_data.product_model == 'on' %}
<div class="us-product-attr-item d-flex justify-content-between"><span class="myarnikul">{{ text_model }}</span> <span class="myarnikul">{{ model }}</span></div>
{% endif %}							
							{% set break = 1 %}
							{% for attribute_group in attribute_groups %}
							{% for attribute in attribute_group.attribute if break != 6 %}
								<div class="us-product-attr-item d-flex justify-content-between">
									<span>{{ attribute.name }}:</span>
									<span>{{ attribute.text }}</span>
								</div>
							{% set break = break + 1 %}
							{% endfor %}
							{% endfor %}
							</div>
						</div>
						{% endif %}	

 

Могу ли я этот же код вставить в шаблон категории, подправив как-то контролер категорий?

 

Смотрел контролер карточки товара, единственный код с атрибутом что нашел такой:

 

$data['attribute_groups'] = $this->model_catalog_product->getProductAttributes($this->request->get['product_id']);

 

Пробовал этот код из контролера карточки товара вставить в контролер категории, выдает ошибку.

 

Не подскажите, что я делаю не так?

 

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.