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


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

Можно ли ограничить Related Items auto несколькими категориями?


Лучший Ответ Cheren-dow , 05 October 2015 - 12:02

а можно поподробнее? что конкретно менять и где?   сам пробовал поменять в файле media\zoo\applications\jbuniversal\framework\models\jbmodel.related.php

Здравствуйте поменять необходимо метод _getFromDatabase() все в том же файле:

\media\zoo\applications\jbuniversal\framework\models\jbmodel.related.php

После строк:

// create empty SQL query
$select = $this->_getItemSelect(null, null, 0)
    ->clear('select')
    ->select('tItem.id AS id')
    ->where('tItem.id <> ?', $item->id);

Добавьте следующий код:

if (isset($data['e_itemcategory_s'])) {
    $select
        ->where('tCategoryItem.category_id IN (' . implode(',', $data['e_itemcategory_s']) . ')')
        ->leftJoin(ZOO_TABLE_CATEGORY_ITEM . ' AS tCategoryItem ON tCategoryItem.item_id = tItem.id');
}
Перейти к сообщению


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

#1 .polega.

.polega.

Отправлено 20 September 2015 - 18:22

Материал может находиться в нескольких категориях, а выбирать похожие надо только из определённых категорий.

Попробовал добавить доп. условия с фильтром по категории, что-то не срабатывает.

screenshot 2015-09-20 20.17.40.jpg

 

Пробовал и ИД, и алиас, и даже название, в кавычках и без, не помогает. Что я не так делаю? Или доп. условия добавляют варианты, а не ограничивают?

Если так, то как всё-таки ограничить выбор материалов только из определённых категорий?


  • 0

#2 Na_uM

Na_uM

Отправлено 20 September 2015 - 18:46

если правильно понял, то

http://forum.jbzoo.c...to-dopusloviya/


  • 0

#3 .polega.

.polega.

Отправлено 20 September 2015 - 19:29

Спасибо за помощь, но это немного не то. В вашем случае рецепт, данный Денисом относился к каталогам, а мне надо ограничить поиск определёнными категориями.

 

Попробовал изменить код в файле media\zoo\applications\jbuniversal\framework\models\jbmodel.related.php

    /**
     * Get search data from item
     * @param Item $item
     * @param JSONData $params
     * @return array
     */
    protected function _getSearchData(Item $item, $params)
    {
        // get related categories
        $itemCategories = array();
        $checkCategory  = (int)$params->get('check_category', 1);
        if ($checkCategory == 1) {
            $itemCategories[] = $item->getPrimaryCategoryId();
        } else if ($checkCategory == 2) {
//            $itemCategories = $item->getRelatedCategoryIds();
            $itemCategories[] = 12;
            $itemCategories[] = 13;
        }

Закомментировал получение связанных категорий и жёстко прописал, какие категории являются связанными (12 и 13). По идее, материалы теперь должны выбираться только из этих категорий. Но что-то не срабатывает, что-то не учёл. Может кто ещё подскажет?


  • 0

#4 laRus

laRus

Отправлено 21 September 2015 - 10:47

Доброго дня!

 

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

В общем, у меня все работает хорошо, ищет что надо и именно в тех категориях, в которых указано.

 

Напишу ниже подробно...

 

Посмотрите еще раз ТУТ (в документации), просто не торопиться и все сделать аккуратненько.. 


Сообщение отредактировал Ursa: 21 September 2015 - 17:06

  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#5 .polega.

.polega.

Отправлено 21 September 2015 - 11:14

Посмотрите еще раз ТУТ (в документации), просто не торопиться и все сделать аккуратненько..

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

А почему у вас в списке категорий ИД разделены точками? Ведь это список ИД?


  • 0

#6 laRus

laRus

Отправлено 21 September 2015 - 17:19

Экспериментирую на демо-сайте с телефонами.

 

Буду рассматривать 2 категории: Samsung id=7 и HTC id=15

1.PNG  2.PNG

 

Пусть поиск будет осуществляться по 3 полям: тег, кол-во ядер, ОС

 

Для ускорения эксперимента ()и чтобы легче было проверить результат) сделаю несколько копий одного телефона. Например, HTC Desire 210. Добавлю тег, напр "fff" (люблю использовать теги при выборе чего-либо.. оч.упрощают жизнь, имхо)

3.PNG

Обращаем внимание на интересующие нас значения:

5_1_3_.PNG

 

Копии:

4.PNG

 

Некоторые копии размещу в 7 категории, а некоторые в 15:

4_1.PNG 4_2.PNG 4_3.PNG 4_4.PNG

 

 

 


Сообщение отредактировал Ursa: 21 September 2015 - 17:52

  • 1
..minimum effort for maximum effect? - Oh yeah! It's good!..

#7 laRus

laRus

Отправлено 21 September 2015 - 17:26

Получили в 7 категории:

5_1.PNG

 

в 15 категории:

5_2.PNG

 

Видим в 7 категории еще 3 телефона другой марки. Два из них не трону, а одному присвою выбранный тег и проверю (в нашем случае - изменю до требуемых) кол-во ядер и ОС:

5_1_1.PNG 5_1_2.PNG

5_1_3.PNG 5_1_3_.PNG

 

 

 


  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#8 laRus

laRus

Отправлено 21 September 2015 - 17:42

Переходим в настройки типа (у нас это UIkit - Full):

0.PNG

 

Выбираем в "(JBZoo Related items (auto))" нужные поля: Теги, Кол-во ядер, ОС (категории - это доп.условия и их не надо выбирать здесь):

6_1.PNG 6_2.PNG

 

Ставим метод поиска (поставлю для эксперимента точное совпадение).

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

Лимит указала 10, т.к. связанных итемов должно быть явно меньше..

Выставляем доп.условия - между ними запятая (в кавычках значения не стала записывать, и так "скушал" :) )!

Получили:

6_3.PNG

 


Топаем на страницу нашего телефона и наслаждаемся результатом: 

7.png


Смотрите, под нужным телефоном 4 копии и Самсунг.. Вроде бы кульно!  ;)


.. но подождите, давайте еще поэкспериментируем!!


  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#9 laRus

laRus

Отправлено 21 September 2015 - 17:48

Теперь выставляю в (JBZoo Related items (auto)) так:

8.PNG

 

 

и получаю:

sams7.png

 


В общем,... мне кажется,... все хорошо?! Да?  :)

 

Успехов!!


Сообщение отредактировал Ursa: 21 September 2015 - 17:46

  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#10 laRus

laRus

Отправлено 22 September 2015 - 05:43

==================================================

 

.polega., спасибо за тему!

 

"Заело", прям, меня на ней! Всегда делала без проверки и "ковыряний" и вроде все ок.

А оно и не ок вовсе  :(

 

Выяснилось, что если в ПЕРВОЙ ЧАСТИ примеров УБРАТЬ ТЕГИ, то поиск будет и по другим категориям, Т,Е, доп условия НЕ сработали?!! И меня выручило наличие тегов (хороший инструмент! Часто пользуюсь! Всегда помогает!)

 

Вот:

Убираю теги из проверки, делаю релевантность=2, остальное также, как в первом случае:

13_1.PNG

 

Смотрю на результат:

13_2.png

 

ОПА! А там значения, например, из 13-ой категории:

13.PNG

 

ЭТО НЕ правильно...

 

Людииии, ХЕЛП!!!  Что я делаю не так??

 

P.S. ночью снятся картинки из админки с JBZoo.. это - ВСЁЁЁЁ...  :-o  :)) 

 

..мордуленции подобающие добавила (дабы правильно воспринималось..)


Сообщение отредактировал Ursa: 22 September 2015 - 08:11

  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..




Click to return to top of page in style!