SeeToo
Представляю Вашему вниманию, новый компонент SeeToo, который умеет строить динамичные блоки «Смотрите также».
Порядок вывода списка ресурсов, зависит от пользовательского поведения. Чем больше переходов было на определенный ресурс, тем выше в списке он будет показываться.
Видео-обзор
Страница в магазине (тут есть пример)
Основу составляет сниппет SeeTooResources, который является оберткой для pdoResources. Смысл его работы в том, что он формирует массив конфигурации для вызова pdoResources (или другого сниппета, название которого передано в параметр element), а именно:
P.S. Извиняюсь за качество видео, если нужно будет, запишу новое.
Порядок вывода списка ресурсов, зависит от пользовательского поведения. Чем больше переходов было на определенный ресурс, тем выше в списке он будет показываться.
Видео-обзор
Страница в магазине (тут есть пример)
Основу составляет сниппет SeeTooResources, который является оберткой для pdoResources. Смысл его работы в том, что он формирует массив конфигурации для вызова pdoResources (или другого сниппета, название которого передано в параметр element), а именно:
- подключает таблицу, в которой хранится поведение пользователей;
- определяет использовать кеш pdoTools или нет;
- задает сортировку по умолчанию (сортируем по количеству переходов, при одинаковых значениях дополнительно сортируем в случайном порядке);
- задает условие, показывать неактивные записи переходов или нет;
- указывает границу переходов, после преодоления которой, запись будет закреплена в выводе.
По поводу границы переходов
Она задается в параметре minCount и по умолчанию имеет значение 10. Что означает, сначала выводятся все записи у которых 10 и больше переходов с текущего ресурса. После этого, если не достигнут лимит вывода, выводятся случайные записи, которые удовлетворяют условиям pdoResources.Планы на будущее
- сделать msOrderHandler для «С этим товаром покупают» (кто разбирается, может сделать это в текущей версии компонента, главное использовать другой ключ для сохранение записей, по умолчанию ключ 'view')
сделать возможность включения/выключения вывода случайных ресурсов после выбранных ресурсов(реализовано в версии 1.1)- сделать возможность включения/выключения обратной связи, то есть, ресурс-цель, так же является ресурсом-источником, а ресурс-источник, является ресурсом-целью
P.S. Извиняюсь за качество видео, если нужно будет, запишу новое.
[Обновлено] 26.01.2017
Вышла новая версия 1.1.0Комментарии: 50
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Спасибо. Интересный компонент.
У меня установлен siteStatistics, у вас не было мысли его подружить с вашим компонентом? Напрашивается мысль из таблиц siteStatistics выбирать данные рейтинга, благо у меня он уже наработанный.
Такой мысли не было. Они немного отличаются по логике.
В SeeToo просмотры считаются не для ресурса в целом, как это сделано в siteStatistics, а для связи «ресурс-источник, ресурс-цель». То есть для каждого ресурса, например статьи, будет свой уникальный список просмотренных статей.
Этими записями можно управлять на страницах ресурсов, куда добавляется новая вкладка, как в ms2Gallery
У меня контекстов много, я могу где то запретить сбор статистики вообще? Для какого то контекста, или для варианта шаблон/категория/ и т.п.?
Вся логика учета переходов выполняется в плагине SeeToo, вы можете отключить его, и написать свой плагин, который будет учитывать все ваши условия.
Например, исключение контекстов- ну просто обязательно хотелось бы видеть в варианте «из коробки».
Но тут мысль возникла переключатель сделать, разный тип рейтинга статей.
Включая последнее: modstore.pro/packages/other/looked
Будет ли усовершенствование процесса сортировки/рейтинга, по мимо ручного указания явной связи. М.б. учет ключевых слов?
Причина такого мышления:
Если сайт состоит из статей и любая статья из любой категории корневого ресурса может быть неким образом связана с текущей, то вероятность рандомного попадания в выдачу довольно ничтожна, а пользователи за неимением лучшего, будет заходить в первые статьи, а если их всего 3-6 в выдаче?
Вот решил подождать следующего обновления, вдруг что-то с этим решат.
Всё делалось для того, чтобы вы могли ограничить выборку, например текущим родителем, или каким нибудь условием. Возьмем к примеру такую ситуацию. У нас в одной категории много статей разных авторов, и мы хотим ограничить показ статей текущим родителем и текущим автором. Вызов будет выглядеть так.
Возьмём другую ситуацию. У нас есть много категорий и много товаров в них, но мы не хотим ограничивать их текущим родителем, а хотим ограничить значением некого поля. Пусть это будет vendor, будем выводить товары текущего производителя.
Можно использовать сортировку по полям ресурса или товара, но тогда смысл этого компонента пропадает, и для этого лучше использовать сниппеты группы pdoTools.
Есть еще идея например половину статей выводить сортируя по переходам, половину всегда выводить случайно, в рамках условий, заданных пользователем
Дополнение не работает. Вызываю:
Ничего не выводится.
Заметил, что есть такая потребность, вынести в системные настройки айдишники ресурсов которые не должны участвовать в выборках, т.е. ресурс показывающийся при 404 (благодаря старым внешним ссылкам) очень часто у меня выскакивает, ну и вообще полезно что-то иметь возможность исключить глобально, не в параметрах сниппета, а конкретно в системных настройках, точно как имеющаяся seetoo_exclude_content_type «Список MIME типов, которые нужно исключить».
Подтвердите мои ожидания. Я правильно понимаю, что у любого ресурса, я могу выводить любые записи? И будут, только те, которые я захочу отобразить у данного ресурса?
В таком случае выводятся не понятно по какому принципу записи, те что в админке отметил, не вывелись.
Надо что бы, если не отмечено не чего, то не чего бы и не выводилось.
Я вас спросил. У ресурса с id1 я могу вывести только ресурсы с id201 и id 234??? И все больше не фига не чего не хочу там выводить.
Вы сказали да, какого хрена не выводит или плагин не работает должным образом.
Он просто выводит рандомные записи. при чем тут &minCount=`0`?????
Где нормальная документация? В админке я поставил что мне надо вывести, но плагину вообще плевать, что я там ставлю, значит возможно надо что то в сниппете дописать, вопрос что??????????
По факту, если эта функция не работает, но не какой ценности вообще не вижу в этом плагине, вывести похожие записи можно и без него.
Жду от вас адекватного ответа, читайте пожалуйста что Вам пишут.
Извините, что не понял вас с первого раза
Спасибо за обновление!
Еще одни вопрос, не обратил внимания, но если я не ошибаюсь то в эту вкладку попадают сами ресурсы, если такое есть, можно как то исключить автоматическое добавление?
И сделайте нормальную документацию для людей, во избежания глупых вопросов.
P.S А на вас тролей, которые ставят плюсы и минусы, плевать. Вы даже мнение не можете свое выразить.
Опишите подробней, не совсем понятно. Я так понял, вы хотите, чтобы при переходе по ссылкам, связи с ресурсами не создавались автоматически.
Вы хотите, создавать связи только вручную?
Если да, то нужно просто выключить плагин SeeToo, я именно поэтому разделил логику на 2 плагина. Но следует учитывать, что при обновлении компонента, он снова активируется. Возможно позже я сделаю системную настройку для отключения этого плагина. Пока еще думаю как лучше сделать.
Второй способ.
В этой версии добавлен класс, который с помощью метода check проверяет могут ли ресурсы образовать связь, если могут, он должен вернуть true, иначе false. Вам нужно просто создать свой класс, наследовав его из базового, переопределить метод check, чтобы он всегда возвращал false и указать название своего класса в системной настройке seetoo_excluder_class
Прошу прощение за задержку с ответом. Получается что ресурсы сами собой попадают на вкладку SeeToo. Как это отключить?
-Вы хотите, создавать связи только вручную?
Все верно!
Отключить? Как? Деинсталлировать?
1. Создал файл core/components/seetoo/custom/excluder/SeeTooExcluder.class.php
2. Вставил в него «Когда мы не хотим отключать плагин, чтобы отключить автоматическое добавление связей, так как например при обновлении он снова станет активным.»
3. Зашел в системные настройки и там уже есть это
Вот эти слова мне не совсем понятны «наследуем свой класс из базового класса SeeTooExcluder»
Все ли я сделал или, что то забыл?
и укажите в настройке seetoo_excluder_class ExcludeAll
Я автора прощу сделать список исключенных ресурсов, которые ни когда бы не добавлялись сами к списку во вкладке SeeToo, а в остальном, компонент весьма полезен.
Пробовал сделать вывести так:
[[!SeeTooResources?
&includeThumbs=`464x464, 232x232`
&limit = `4`
&snippet=`msProducts`
&tpl=`lookedTpl2`
]]
и ничего, картинки не подхватываются
&element=`msProducts` тоже не работает, товары вообще не выводятся
[[!SeeTooResources?
&class=`msProduct`
&element=`msProducts`
&limit = `4`
&tpl=`lookedTpl`
]]