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

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


ingenerks

Recommended Posts

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

Тоесть вместо 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
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

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

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

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

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


  • 2 months later...

Не подскажете как сделать что бы можно еще в это описание вывести наличие. Делаю по анологии - выскакивает ошибка. Посмотрел как это сделано в 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
Надіслати
Поділитися на інших сайтах

  • 1 month later...
  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...

А как вывести атрибуты в 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>

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


  • 2 months later...
  • 2 weeks later...

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

 

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

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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