Перейти к содержимому


Фотография
- - - - -

Вывод части элементов одного каталога в full-шаблоне другого каталога


Лучший Ответ Sliapy , 27 August 2013 - 13:05

Вот здесь есть хак, позволяющий использовать related items с материалами из разных каталогов: http://forum.jbzoo.c...yu-zoo/?p=13680

 

Также есть платный элемент от Zoolanders - Related Items Pro, позволяющий выводить связанные элементы из разных каталогов.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 Molse

Molse

Отправлено 27 August 2013 - 12:58

Добрый день.

 

Подскажите пожалуйста в каком направлении копать или может быть есть готовое решение (к сожалению я его не нашел).

 

Есть сайта http://sec8.molse.ru

 

У него есть два каталога (http://sec8.molse.ru/katalog - каталог товаров и http://sec8.molse.ru/katalog/partnery

- каталог брендов/партнеров).  

Необходимо в каталоге брендов для каждого бренда (например  http://sec8.molse.ru...ery/item/commax) выводить в конце ебольшой список самых популярных товаров (например по рейтингу или например просто вручную выставляя для соответствующего элемента каталога товаров какое-либо значение). 

 

Отображаться должно примерно как это делает элемент Related Items (Auto), то есть просто в конце описания бренда и информации по нему ещё дополнительно раздел "Популярные товары бренда" и 4-5 элементов каталога товаров этого бренда в нем. . 

 

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

 


  • 0

#2 Sliapy

Sliapy

Отправлено 27 August 2013 - 13:05   Лучший Ответ

Вот здесь есть хак, позволяющий использовать related items с материалами из разных каталогов: http://forum.jbzoo.c...yu-zoo/?p=13680

 

Также есть платный элемент от Zoolanders - Related Items Pro, позволяющий выводить связанные элементы из разных каталогов.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 Molse

Molse

Отправлено 28 August 2013 - 12:02

Спасибо, хак оказался именно тем, что нужно.

 

Подскажите ещё один момент в продолжении этой темы. 

 

1. В бренде вручную добавлены несколько элементов (пример - http://sec8.molse.ru...ery/item/commax) . Они выводятся столбцом. 

Какие файлы ответственны за такой вывод, где что изменить. Мне нужно получить на выводе 3 элемента в колонку. 

 

И какой шаблон отвечает за вывод Related Items?. В его настройках видны шаблоны Items name, Related и Teaser. 


  • 0

#4 Sliapy

Sliapy

Отправлено 28 August 2013 - 12:44

. В его настройках видны шаблоны Items name, Related и Teaser.

Да, это и есть выбор шаблона. Если Вы выберите Related, то нужно будет настраивать у того типа, который вы сделаете свчязанным, соотв-но шаблон Related.

 

Чтобы сделать несколько столбиков - достаточно задать нужную ширину и float:left.

 

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

 

Нужно зайти в шаблон \media\zoo\applications\jbuniversal\templates\catalog\renderer\item\*алиас вашего связанного элемента*\related.php

 

Увидите там что-то похожее:

<?php if ($this->checkPosition('title')) : ?>
    <h5 class="item-title"><?php echo $this->renderPosition('title'); ?></h5>
<?php endif; ?>


<?php if ($this->checkPosition('properties')) : ?>
   <ul class="item-properties">
       <?php echo $this->renderPosition('properties', array('style' => 'list'));?>
   </ul>
<?php endif; ?>


<?php if ($this->checkPosition('image')) : ?>
    <div class="item-image align-<?php echo $align;?>">
        <?php echo $this->renderPosition('image');?>
    </div>
<?php endif; ?>


<?php if ($this->checkPosition('text')) : ?>
    <?php echo $this->renderPosition('text', array('style' => 'block')); ?>
<?php endif; ?>


<?php if ($this->checkPosition('meta')) : ?>
   <ul class="item-metadata">
       <?php echo $this->renderPosition('meta', array('style' => 'list'));?>
   </ul>
<?php endif; ?>

<div class="clear clr"></div>

Нужно обернуть все, например, так

<div class="related-item">
<?php if ($this->checkPosition('title')) : ?>
    <h5 class="item-title"><?php echo $this->renderPosition('title'); ?></h5>
<?php endif; ?>


<?php if ($this->checkPosition('properties')) : ?>
   <ul class="item-properties">
       <?php echo $this->renderPosition('properties', array('style' => 'list'));?>
   </ul>
<?php endif; ?>


<?php if ($this->checkPosition('image')) : ?>
    <div class="item-image align-<?php echo $align;?>">
        <?php echo $this->renderPosition('image');?>
    </div>
<?php endif; ?>


<?php if ($this->checkPosition('text')) : ?>
    <?php echo $this->renderPosition('text', array('style' => 'block')); ?>
<?php endif; ?>


<?php if ($this->checkPosition('meta')) : ?>
   <ul class="item-metadata">
       <?php echo $this->renderPosition('meta', array('style' => 'list'));?>
   </ul>
<?php endif; ?>

<div class="clear clr"></div>
</div>

И в CSS добавить

.related-item {
    float: left;
    padding: 10px;
    width: 200px;
}

Получите что-то похожее:

ssm0f5f4c34_200x0.jpg

 

С шириной можете поиграть.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 Molse

Molse

Отправлено 28 August 2013 - 17:26

Супер, спасибо за помощь. Идею уловил, думаю все получится.


  • 0




Click to return to top of page in style!