Перейти к содержанию
ingenerks

Вывод атрибутов вместо описания в категориях

Рекомендуемые сообщения

Добрый день. Подскажиет как в категории, где идет краткое описание товара, вместо описание выводить характеристики товара.

Тоесть вместо 1 выводить 2. Как на рисунке. Спасибо!!!!

post-19940-0-60936700-1342424586_thumb.jpg

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы характеристики храните в поле модель, то:

В файле catalogcontrollerproductcategory.php

добавить в районе 200 строки:

'model'	   => $result['model'],

А потом в шаблоне вывода категории (catalogviewthemedefaulttemplateproductcategory.tpl) в нужном вам месте добавить

<?php echo $product['model']; ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы характеристики храните в поле модель, то:

В файле catalogcontrollerproductcategory.php

добавить в районе 200 строки:

'model'	   => $result['model'],

А потом в шаблоне вывода категории (catalogviewthemedefaulttemplateproductcategory.tpl) в нужном вам месте добавить

<?php echo $product['model']; ?>
Нет я не храню в поле модель. В том то и прикол, что нужно склеивать из поля характеристики и через слеш выводить их. То есть выводить каждый атрибут, потом через слеш новый атрибут и так все атрибуты которые встречаются в товаре. А какой смысл выводить краткое описание. Человеку важнее увидеть технические характеристики товара!!!!
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что мешает упростить задачу, используя поле модели, чтобы хранить эти характеристики там? Все равно модель товара указывается обычно в его названии, и получается бесполезное дублирование.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что мешает упростить задачу, используя поле модели, чтобы хранить эти характеристики там? Все равно модель товара указывается обычно в его названии, и получается бесполезное дублирование.

Например при вводе товара на сайт вводится его описание. Оно есть у любого товара. Дальше забиваются атрибуты. Которые потом будут использоватся в фильтрации. Вот именно эти атрибуты нужно выносить вместо краткого описания товара. Так как на картинке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые гуру помогите плиз!!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

catalog\controller\product\category.php, 199

			   	 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
					'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
					'price'	   => $price,

catalog\view\theme\default\template\product\category.tpl, 76

<div class="description">
			<?php if($product['attribute_groups']) { ?>
			<table>
				<?php foreach($product['attribute_groups'] as $attribute_group) { ?>
				<thead><!--названия групп-->
				<tr>
					<td colspan="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>
  • +1 9

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

catalogcontrollerproductcategory.php, 199

			   	 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
					'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
					'price'	   => $price,

catalogviewthemedefaulttemplateproductcategory.tpl, 76

<div class="description">
			<?php if($product['attribute_groups']) { ?>
			<table>
				<?php foreach($product['attribute_groups'] as $attribute_group) { ?>
				<thead><!--названия групп-->
				<tr>
					<td colspan="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>
Ура получилось спасибо. Единственный вопрос как выводить все в строчку и после каждого нового атрибута ставить разделитель слешь с пробьелами, что бы было так

Экран 11.6” (1366x768) LED, глянцевый / AMD Dual-Core E-450 (1.65 ГГц) / RAM 2 ГБ / HDD 500 ГБ / AMD Radeon HD 6320 / без ОДД / LAN / Wi-Fi / Bluetooth / веб-камера / DOS /

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура получилось спасибо. Единственный вопрос как выводить все в строчку и после каждого нового атрибута ставить разделитель слешь с пробьелами, что бы было так

Экран 11.6” (1366x768) LED, глянцевый / AMD Dual-Core E-450 (1.65 ГГц) / RAM 2 ГБ / HDD 500 ГБ / AMD Radeon HD 6320 / без ОДД / LAN / Wi-Fi / Bluetooth / веб-камера / DOS /

catalogviewthemedefaulttemplateproductcategory.tpl, 76

Заменяем этот код:

<div class="description">
					    <?php if($product['attribute_groups']) { ?>
					    <table>
							    <?php foreach($product['attribute_groups'] as $attribute_group) { ?>
							    <thead><!--названия групп-->
							    <tr>
									    <td colspan="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>
на:

<div class="description">
					    <?php if($product['attribute_groups']) { ?>
					    <table>
							    <?php foreach($product['attribute_groups'] as $attribute_group) { ?>
							   
							    <tbody>
									    <?php foreach($attribute_group['attribute'] as $attribute) { ?>
							    <tr>
									    <?php echo $attribute['name']; ?> - <?php echo $attribute['text']; ?> <font color="#0000FF">|</font>
									   
							    </tr>
									    <?php } ?>
							    </tbody>
							    <?php } ?>
					    </table>
					    <?php } ?>
			    </div>
Я сделал вертикальную разделительную палочку, мне кажется так органичней. И так же добавил стиль для этой палочки (синий цвет color="#0000FF"), чтобы было более заметно где заканчивается один атрибут и начинается другой.

Так же убрал название груп характеристик

Зы В ИЕ некрасиво получается. МБ ктонить поэкспериментирует и чёнить порекомендует?

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Код что бы отображалось нормально в IE.

<div class="description">

<?php if($product['attribute_groups']) { ?>

<ul>

<?php foreach($product['attribute_groups'] as $attribute_group) { ?>

<tbody>

<?php foreach($attribute_group['attribute'] as $attribute) { ?><?php echo $attribute['name']; ?> - <?php echo $attribute['text']; ?> <font color="#0000FF">|</font>

<?php } ?>

</tbody>

<?php } ?>

</ul>

<?php } ?>

</div>

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кому то понадобится сделал vqmod

atributs.xml

  • +1 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кому то понадобится сделал vqmod

На версии 1.5.1.3 не работает.

А можно сделать так чтобы при отображении сеткой атрибуты выводились в столбик как в модуле Product Display Settings ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не подскажете как сделать что бы можно еще в это описание вывести наличие. Делаю по анологии - выскакивает ошибка. Посмотрел как это сделано в catalogcontrollerproductproduct.php

там вывод с помощью следующего блока:

   if ($product_info['quantity'] <= 0) {
    $this->data['stock'] = $product_info['stock_status'];
   } elseif ($this->config->get('config_stock_display')) {
    $this->data['stock'] = $product_info['quantity'];
   } else {
    $this->data['stock'] = $this->language->get('text_instock');
   }
Но к catalogcontrollerproductcategory.php так подключить и не удалось. Помогите кто знает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не подскажете как сделать что бы можно еще в это описание вывести наличие. Делаю по анологии - выскакивает ошибка. Посмотрел как это сделано в catalogcontrollerproductproduct.php

там вывод с помощью следующего блока:

   if ($product_info['quantity'] <= 0) {
	$this->data['stock'] = $product_info['stock_status'];
   } elseif ($this->config->get('config_stock_display')) {
	$this->data['stock'] = $product_info['quantity'];
   } else {
	$this->data['stock'] = $this->language->get('text_instock');
   }
Но к catalogcontrollerproductcategory.php так подключить и не удалось. Помогите кто знает
https://opencartforum.com/topic/10263-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2/ тут описано

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне нужно НАЛИЧИЕ, тоесть что бы на странице категории в описании товара можно было вывести: "Есть в наличи", "Предзаказ" и тп. По анологии как это сделано в карточке товара

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне нужно НАЛИЧИЕ, тоесть что бы на странице категории в описании товара можно было вывести: "Есть в наличи", "Предзаказ" и тп. По анологии как это сделано в карточке товара

это легко делается...наличие ещё можно вывести на витрину по аналогии...вот ссылка на блог пользователя этого форума:

http://rb.labtodo.com/page/opencart-151-vyvod-informacii-o-nalichii-pod-kartinkoj-v-kataloge-tovarov (не баньте)

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал вывод текстового блока с атрибутами отдельным модулем для тех, кому нужно более правильное и функциональное решение данной проблемы и не жалко за это заплатить 150 рублей.

Почему лучше это делать модулем я немного описал в этом сообщении.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите как из всех характеристик вывести одну если известен ее ID?

Исключить все ненужные.

Я задавался этим вопросом тут РЕШЕНО

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень помогла данная тема

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как вывести атрибуты в produсt.tpl (v 1.5.4.1)? Что-то никак не получается там сделать.

Конкретно, в блоке <div class="description">, где модель, наличие...:

 <div class="description">
	<?php if ($manufacturer) { ?>
	<span><?php echo $text_manufacturer; ?></span> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a><br />
	<?php } ?>
	<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />
	<span><?php echo $text_reward; ?></span> <?php echo $reward; ?><br />
	<span><?php echo $text_stock; ?></span> <?php echo $stock; ?></div>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как вывести атрибуты в produсt.tpl (v 1.5.4.1)? Что-то никак не получается там сделать.

 

Поддерживаю вопрос. 1.5.4.1 не работает. Кто нибудь решил?

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто сделает это за деньгу? Писать ценник в личку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто сделает это за деньгу? Писать ценник в личку

 

Я буквально пару постов выше давал ссылку на готовый модуль https://opencartforum.com/files/file/693-tekstovyi-blok-s-atributami/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.