Вывод ссылок на несколько предыдущих и следующих элементов при выводе инфоэлемента

#
Вывод ссылок на несколько предыдущих и следующих элементов при выводе инфоэлемента
На странице инфо элемента было бы неплохо выводить ссылки на ближайшие по подразделу инфо элементы - для большей вовлеченности читателя. Форум перерыл, есть какое-то решение для 5 версии, там же есть код для 6 версии, но он увы не работает. Да и там вывод идет по одной ссылке.
Кто решал похожее, поделитесь плиз!
Как вариант, если проще, то сделать вывод на странице инфо элемента ссылок на ВСЕ инфоэлементы текущего подраздела, а через джиквери я бы с ними уж расправился)))
Модератор
#
Re: Вывод ссылок на несколько предыдущих и следующих элементов при выводе инфоэлемента
volgastar писал(а):
там же есть код для 6 версии, но он увы не работает.

Значит что-то неправильно делаете. Неоднократно встречались клиенты у которых указанное решение работает.

volgastar писал(а):
Как вариант, если проще, то сделать вывод на странице инфо элемента ссылок на ВСЕ инфоэлементы текущего подраздела

Вообще нет проблемы. В ТДС выбирайте через queryBuilder() все товары текущей группы и добавляйте в XML через addEntity(). После на XSL их не составит труда вывести в нужном виде.

http://www.hostcms.ru/documentation/modules/core/orm/
http://www.hostcms.ru/documentation/modules/core/querybuilder/
http://www.hostcms.ru/documentation/modules/core/controllers/

Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Вывод ссылок на несколько предыдущих и следующих элементов при выводе инфоэлемента
наверное да))
а если так:
вывожу из нужной инфо системы список элементов, все вроде ок
$Informationsystem_Controller_Show = new Informationsystem_Controller_Show(
         Core_Entity::factory('Informationsystem', '17')
         );
         $Informationsystem_Controller_Show
         ->xsl(
         Core_Entity::factory('Xsl')->getByName('СписокСоседнихЭлементов')
         )
         ->group(intval(Core_Page::instance()->object->group))
         ->limit(3)
         ->show();


но как теперь ограничить показ только внутри данной инфосистемы.....? через шаблоны в курсе, а можно ли обойтись одним шаблоном, просто вставив в него условие, что если ID = 17, то исполняем этот кусок кода?
#
Re: Вывод ссылок на несколько предыдущих и следующих элементов при выводе инфоэлемента
вот накомпоновал)))
// Вывод всех элементов группы на странице одного из элементов
            if (is_object(Core_Page::instance()->object)
            && get_class(Core_Page::instance()->object) == 'Informationsystem_Controller_Show'
            && Core_Page::instance()->object->group
            && Core_Page::instance()->object->item)
               {
                 $Informationsystem_Controller_Show = new Informationsystem_Controller_Show(
                   Core_Entity::factory('Informationsystem', 17)
                 );
                 $Informationsystem_Controller_Show
                   ->xsl(
                     Core_Entity::factory('Xsl')->getByName('СписокСоседнихЭлементов')
                   )
                   ->groupsMode('none')
                   ->itemsForbiddenTags(array('text'))
                   ->group( Core_Page::instance()->object->group )
                   ->limit(5)
                   ->show();
               }


теперь буду джикверей чистить ненужное))) мдя...
#
Re: Вывод ссылок на несколько предыдущих и следующих элементов при выводе инфоэлемента
Все сделал, все ок)))
Ибо всего 90 инфоэлементов, да еще и распределено по 4 группам, т.е. на странице движок отдает 25 элементов максимум, не думаю что это то, ради чего надо тут стоять и ждать, пока разжуют))) да, вывод не по феншую, но УЖЕ все работает и можно запустить сайт...
джикверей обрабатываю так:
1. на странице элемента получаю список все элементов из текущей группы инфосистемы
2. получив id текущего элемента, через джиквери each прохожусь по списку элементов и нахожу там текущий элемент как часть списка, делаю с ним харакири))) т.е. empty
3. помечаю-оставляю 4 элемента, следующие за элементом из п.2 (мне надо выводить 4 соседних элемента)
4. и еще немного джиквери-магии))) если текущий элемент в конце списка, то дополнительно беру недостающие элементы из начала списка, т.е. по кругу.
5. весь остальной список - харакири)))

в итоге в исходном коде никаких лишних элементов, джиквери он и в африке джиквери.
ну и постарался изложить решение в стиле, максимально приближенном к стилю господина Егорова))) сухая теория и минимум готового кода)))))
Авторизация