Jump to content


Photo
- - - - -

Related items auto - не выводить


Best Answer SmetDenis , 04 June 2015 - 09:27

Подобной автоматической выборки по related items.

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

в класс добавляем новую функцию
media\zoo\elements\relateditems\relateditems.php

    public function getSearchData()
    {
        $items = $this->_getRelatedItems();
        $result = array();
        if (!empty($items)) {
            foreach($items as $item) {
                $result[] = $item->id;
            }
        }
        
        return  $result;
    }
Удаляем строку из этого файла
media\zoo\applications\jbuniversal\framework\models\jbmodel.searchindex.php
1im1_200x0.png

Затем помогаем relatedAuto
в доп условиях указываем elementId обычного related items. Значение - {itemid}
media\zoo\applications\jbuniversal\framework\models\jbmodel.related.php
6az1_200x0.png
    if ($value == '{itemid}') {
        $value = $item->id;
    }
Делаем переиндексацию. По идее после этого через связь по стандартному related items, наш (auto) элемент будет находить материалы, в которых есть id просматриваемого материала. Go to the full post


  • This topic is locked This topic is locked
2 replies to this topic

#1 Павел Акимов

Павел Акимов
  • JBZoo User (rus)
  • User rate: 20.2
  • posts: 452
  • topics: 63

Posted 03 June 2015 - 13:40

Подскажите, что то я упустил в модуле :)
 
У меня есть 2 типа:
Врачи
Статьи
 
Всё в одном каталоге.
 
Задача вывести все статьи по врачу.
 
для этого я создал в двух типах одинаковые поля. 
 
 
 
Расскажите, что нужно сделать что бы вывести айтемы из другого типа? Или только по тегам?
 
http://jbzoo.ru/docs/related-item-auto- читал, смотрел! не помогло :)

Edited by Павел, 03 June 2015 - 14:10.

  • 0

#2 kostricyny

kostricyny
  • JBZoo User (rus)
  • User rate: 11
  • posts: 332
  • topics: 44

Posted 03 June 2015 - 16:51

Здравствуйте.

Посмотрите эту тему, скорее всего она Вам поможет разобраться. 

От себя посоветую следующее:

1. Создайте два каталога: один с авторами другой со статьями. Так будет удобнее работать при большом количестве материалов.

2. Связывать (Related items auto) материалы с помощью тегов удобно, но по причинам "безопасности" я предпочитаю отдельное поле, содержание которого: пароль+логин. Для каждого пользователя (Joomla ACL) эта связка будет уникальной и никому неизвестной, в отличии от тегов.    

 

Удачи. 


  • 2

#3 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 04 June 2015 - 09:27   Best Answer

Подобной автоматической выборки по related items.

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

в класс добавляем новую функцию
media\zoo\elements\relateditems\relateditems.php
    public function getSearchData()
    {
        $items = $this->_getRelatedItems();
        $result = array();
        if (!empty($items)) {
            foreach($items as $item) {
                $result[] = $item->id;
            }
        }
        
        return  $result;
    }
Удаляем строку из этого файла
media\zoo\applications\jbuniversal\framework\models\jbmodel.searchindex.php
1im1_200x0.png

Затем помогаем relatedAuto
в доп условиях указываем elementId обычного related items. Значение - {itemid}
media\zoo\applications\jbuniversal\framework\models\jbmodel.related.php
6az1_200x0.png
    if ($value == '{itemid}') {
        $value = $item->id;
    }
Делаем переиндексацию. По идее после этого через связь по стандартному related items, наш (auto) элемент будет находить материалы, в которых есть id просматриваемого материала.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!