Jump to content
ingenerks

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

Recommended Posts

Я буквально пару постов выше давал ссылку на готовый модуль http://opencartforum...k-s-atributami/

Совместимость:

- OpenCart v1.5.4.1

- OCStore v1.5.3.1

- OCStore v1.5.1.3

 

На OCStore v1.5.4.1 пойдет?

Share this post


Link to post
Share on other sites

Я буквально пару постов выше давал ссылку на готовый модуль http://opencartforum...k-s-atributami/

Совместимость:

- OpenCart v1.5.4.1

- OCStore v1.5.3.1

- OCStore v1.5.1.3

 

На OCStore v1.5.4.1 пойдет?

Да

Share this post


Link to post
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>

 

Подскажите пожалуйста, сделал как было написано, только проблема в том что когда при нажатии ссылки Список атрибуты отображаются, а когда ссылка Сетка атрибуты не отображаются, подскажите где искать?

post-30305-0-15664800-1366813097_thumb.png

post-30305-0-30942100-1366813104_thumb.png

Share this post


Link to post
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>

 

Подскажите пожалуйста, сделал как было написано, только проблема в том что когда при нажатии ссылки Список атрибуты отображаются, а когда ссылка Сетка атрибуты не отображаются, подскажите где искать?

Share this post


Link to post
Share on other sites

Нужно так же в скрипт который при переключении отвечает за вывод сетки добавить этот блок!

 

Не совсем так. Т.е. добавлять туда не надо, в версии 1.5.4.1 немного другая конструкция - добавляется 1 раз, в начале.

Вобщем, кто не желает заморачиваться правкой кода, есть модуль. Ну а тем кто в теме и вносит изменения - все достаточно просто.

 

Вышеприведенный код - вставляем как указано, только вместо description лучше указать какойнибудь другой класс, чтоб его можно было модифицировать с помошью CSS

 

<div class="description">
...
</div>
 

 

Я назвал class="attributes". Ниже в вдух местах, в файле category.tpl ищем где выводится description и добавляем ниже наши аттрибуты. Это линейный (блочный) вид:

 

            html += '  <div class="description">' + $(element).find('.description').html() + '</div>';
            html += '  <div class="attributes">' + $(element).find('.attributes').html() + '</div>';
 

 

Тоже самое надо обязательно проделать и на вид "Сетка". Тоже самое, один в один. Но так как сетка имеет сокращенный вид, и описание даже убирается, то надо прописать в CSS рядом с этим еще один класс для attributes:

 

.product-grid .description, 
.product-grid .attributes {
    display: none;
} 

 

 

Еще один вариант, проще.

 

1. Проделываем те же действия что и в посте #7 на предыдущей странице с файлом catalog\controller\product\category.php

 

2. Ищем в catalog\view\theme\default\template\product\category.tpl

 

<div class="description"><?php echo $product['description']; ?></div>
 

И добавляем в внутрь DIV. Я удалил из кода выше <div class="description">, так как в данном случае уже вносим в этот DIV (т.е. можно не оборачивать аттрибуты в свой отдельный DIV и назначать стили, возьмутся из готового class="description")

      <div class="description"><?php echo $product['description']; ?>
        
            <?php if($product['attribute_groups']) { ?>
            <table>
                <?php foreach($product['attribute_groups'] as $attribute_group) { ?>
                <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>
 

 

В общем-то, идея достаточно проста и должна быть понятна. Все модификации со стилями - дело рук уже каждого )

Share this post


Link to post
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 например "Основные характеристики"

Share this post


Link to post
Share on other sites

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

 

Хорошая работа. Но должен заметить, что <font> - это моветон, даже может навредить странице с точки зрения seo, тем паче в большой концентрации.

Share this post


Link to post
Share on other sites

из-за модуля filterpro

атрибуты в категориях появляются, а потом исчезают.

в файле filterpro есть такие строки.

по идее по аналогии можно изменить и вставить сюда атрибуты.

Пожалуйста, помогите сделать это!

$description = function_exists('utf8_substr') ? utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 218) . '..' :
substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 218) . '..';

Share this post


Link to post
Share on other sites

добавила строку 

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

в вывод $result[] = array(

кажись помогло

 

так нельзя. перестал работать filterpro

Share this post


Link to post
Share on other sites

добавила строку 

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

в вывод $result[] = array(

кажись помогло

 

так нельзя. перестал работать filterpro

 

можно добавить под

$description = function_exists('utf8_substr') ? utf8_substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 218) . '..' :
substr(strip_tags(html_entity_decode($product['description'], ENT_QUOTES, 'UTF-8')), 0, 218) . '..';

строку

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

а потом в filterpro_proucts.tpl уже вывести все, что нужно так же, как описано в теме

и не забыть в category.tpl это продублировать, чтобы при первой загрузке фильтра еще без выбора атрибутов тоже был вывод

  • +1 1

Share this post


Link to post
Share on other sites

спасибо за подсказку, но выдает ошибку Parse error: syntax error, unexpected T_DOUBLE_ARROW in 

 

и еще такого файла нет  filterpro_proucts.tpl 

Share this post


Link to post
Share on other sites

спасибо за подсказку, но выдает ошибку Parse error: syntax error, unexpected T_DOUBLE_ARROW in 

 

и еще такого файла нет  filterpro_proucts.tpl 

А откуда ему взяться, если вы фильтр, по всей видимости, не покупали, а скачали на варезнике?)

Share this post


Link to post
Share on other sites

я перед покупкой мода всегда стараюсь его протестировать на сайте, если возможность. ;)  со многими так поступала, а потом покупала оригинал.

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

Share this post


Link to post
Share on other sites

я перед покупкой мода всегда стараюсь его протестировать на сайте, если возможность. ;)  со многими так поступала, а потом покупала оригинал.

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

вот как купите его, увидите этот файл, в который достаточно скопировать код вывода товаров из category.tpl и все будет прекрасно работать

та версия, что у вас сейчас, уже морально устарела и с ней вас ждут лишь мучения, уныние и депрессия :)

Share this post


Link to post
Share on other sites

если новая версия встанет и с этим модулем 

OCU Waitlist - уведомление на email при поступлении товара

то с огромным удовольствием! Вы не пробовали?

Share this post


Link to post
Share on other sites

если новая версия встанет и с этим модулем 

OCU Waitlist - уведомление на email при поступлении товара

то с огромным удовольствием! Вы не пробовали?

должна встать, так как там хоть и есть изменения category.tpl, но как я уже писал, достаточно эти изменения продублировать в файле фильтра

если все равно боитесь проблем с совместимостью, то вам нужен вот такой фильтр https://opencartforum.com/files/file/1452-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-vsfilter-full-%D0%B4%D0%BB%D1%8F-ocstore/

там вообще ничего менять скорее всего не понадобится, но увы - потестировать его вы не сможете (разве что на его же демке), так как он появился очень недавно (я его немного тестировал, и мне он понравился, к тому же по скорости работы он вроде как даже опережает должен опережать фильтрпро, в частности при сложной выборке атрибутов)

  • +1 1

Share this post


Link to post
Share on other sites

у меня версия 1.5.4

не подойдет

Share this post


Link to post
Share on other sites

напишите автору и он скорее всего пойдет вам навстречу, тем более отличий между 1.5.4 и 1.5.5 немного, а сам автор, я думаю, понимает, что еще очень многие пользуются 1.5.4

Share this post


Link to post
Share on other sites

хорошо, попробую. спасибо!

Share this post


Link to post
Share on other sites

Подскажите, как вывести атрибуты в отображении товаров, в категории, в виде сетки ?

 

post-677583-0-28469200-1389526976_thumb.png

 

Share this post


Link to post
Share on other sites

в файле stylesheet.css найти  product-grid {display:none;} вроде. Сделать display:block

  • +1 1

Share this post


Link to post
Share on other sites

в файле stylesheet.css найти  product-grid {display:none;} вроде. Сделать display:block

 

Благодарю за помощь !

Share this post


Link to post
Share on other sites

У меня два вопроса, буду вам признателен за помощь:

1. Как можно вывести в описание товара в категории: (а) часть текста с описания товара и (б) атрибуты товара через запятую?

2. Как можно вывести в описание товара на странице товара( модель и т.д) атрибуты?

 

спасибо

Share this post


Link to post
Share on other sites

Нужно так же в скрипт который при переключении отвечает за вывод сетки добавить этот блок!

 

Люди добрые! Ткните меня носом пожалста в этот скрипт! Никак не могу разобраться  :(

В сетке выводит какой-то мизер текста и изменение в цифре новодобавленного description'a никакого эффекта не дает..

 

 

И, быть может, знающие люди подскажут, как сделать так, что бы эти атрибуты (которые выводятся вместо короткого описания в категориях) выводились без учета html?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.