Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


ingenerks
 Share

Recommended Posts

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

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

  • +1 1
Link to comment
Share on other sites

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

В файле catalogcontrollerproductcategory.php

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

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

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

<?php echo $product['model']; ?>
Link to comment
Share on other sites

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

В файле catalogcontrollerproductcategory.php

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

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

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

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

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

Link to comment
Share on other sites

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

Например при ввогде товара на сайт вводится его описание. Оно есть у люпотому чтого товара. Дальше забиваются атрибуты. Которые потом будут использоватся в фильтрации. Вот именно эти атрибуты нужно выносить вместо краткого описания товара. Да как на картинке.
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

Экран 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
Link to comment
Share on other sites


Код что бы отображалось нормально в 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
Link to comment
Share on other sites

  • 3 weeks later...

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

На версии 1.5.1.3 не рилииет.

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

Link to comment
Share on other sites


  • 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 ик подклюлить и не удалось. Помогите кто знает
Link to comment
Share on other sites


Не подскажете как сгделать что бы можно еещё в это описание вывести налилие. Делаю по анологии - выскакивает ошибка. Посмотрел как это сгделано в 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://opencart-forum.ru/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/ тут описано
Link to comment
Share on other sites

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

Link to comment
Share on other sites


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

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

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

  • +1 1
Link to comment
Share on other sites


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

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

  • +1 1
Link to comment
Share on other sites

  • 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>

Link to comment
Share on other sites


  • 2 months later...

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

 

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

  • +1 1
Link to comment
Share on other sites


  • 2 weeks later...

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

 

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.