[looked] Компонент "Вы смотрели"
Компонент looked для MODX revolution даёт возможность добавить на сайт блок с последними просмотренными страницами (товарами) пользователем.
Looked имеет два сниппета:
Примеры:
Компонент в modstore.
Посмотреть в работе можно здесь.
Looked имеет два сниппета:
- addLooked — регистрация просмотров
- looked — вывод на экран результатов, если есть
Регистрация просмотренных страниц сниппет addLooked
Регистрация просмотренных страниц.- Все просмотры сохраняются в сессию.
- Возможность указать шаблоны
- &limit — Ограничение записи в сессию, по умолчанию 5
- &templates — ID шаблонов через запятую, где нужно учитывать просмотры. Если пусто — учитывать везде, при условии что сниппет [[addLooked]] вызывается в каждом шаблоне. Или разместите сниппет только в тех шаблонах, где нужен учёт. По умолчанию: пусто
[[addLooked?
&templates = `4`
]]
Вывод результатов, сниппет looked
Добавляет блок с просмотренными ресурсами. Looked является обёрткой для указанного сниппета в параметрах. Проверялось на msProducts и pdoResources.- Исключение текущей страницы из выдачи
- По желанию может вернуть ID ресурсов
- &snippet — Какой сниппет использовать для вывода результатов. По умолчанию: msProducts
- &parents — По умолчанию: 0
- &limit — Ограничение вывода просмотров на странице. По умолчанию: 5
- &ids — Если «Да», сниппет вернёт ID просмотренных ресурсов. По умолчанию: Нет
- &tplOuter — Чанк-обёртка всего блока. По умолчанию: lookedOuterTpl
- &tpl — Чанк оформления каждого пункта. По умолчанию: lookedTpl
- &sortby — Любое поле ресурса для сортировки. По умолчанию: пусто
- &sortdir — Направление сортировки. По умолчанию: пусто
Примеры:
[[!looked?
&includeThumbs = `24x92`
]]
[[!looked?
&snippet = `pdoResources`
&includeTVs = `price, image`
]]
Заказывал клиент — делюсь с сообществом.Компонент в modstore.
Посмотреть в работе можно здесь.
Поблагодарить автора
Отправить деньги
Комментарии: 73
В обед выложил в modstor, до сих-пор не прошёл модерацию. Поэтому ссылки нет.
Почему после обновления номер версии уменьшился?
Или это откат на предыдущую версию?
Или это откат на предыдущую версию?
Была beta, стало pl
Только сегодня сделал аналог, завтра планировал отправить в магазин. Теперь уж смысла нет.
Молодец, опередил :)
Молодец, опередил :)
Вот спасибо-хорошо!
Эта штука базу не раздувает? Как удаляются данные?
Просмотры сохраняются в сессию, по умолчанию 5 ресурсов.
Отличное дополнение. Спасибо автору! Только есть одно «но» сейчас — снипет looked не поддерживает работу с getProducts. Если в параметре &snippet указать getProducts то ничего не выводится. Если указывать getResources то работает. Просто я по умолчанию использую getProducts для вывода ресурсов.
Приведи пример как вызываешь.
В принципе, если обязательно нужно использовать getProducts, то looked может вернуть только айди ресурсов
В принципе, если обязательно нужно использовать getProducts, то looked может вернуть только айди ресурсов
[[getProducts?
...
...
&resources=`[[looked? &ids=`1`]]`
...
]]
[[looked? &tpl=`productTplGetResources` &tplOuter=`myLookedOuterTpl` &snippet=`getProducts` &limit=`3` &includeTVs=`1` &processTVs=`1`]] и так не работает. С getResources и pdoResources работает.
Работает ли с MIGx?
Вывод просмотров через MIGX? Не проверял.
Там у него много сниппетов, на сколько я помню (давно уже им не пользуюсь), — какой именно сниппет интересует?
Там у него много сниппетов, на сколько я помню (давно уже им не пользуюсь), — какой именно сниппет интересует?
Спасибо! Все работает. Вот только выводит текущий ресурс в просмотренных. Вроде написано «Исключение текущей страницы из выдачи»
И выводит пять ресурсов, хотя в limit задаю другое
[[!looked?
&snippet=`msProducts`
&tpl=`tpl.msProducts.row_my`
&includeThumbs=`150x200`
&limit=`12`
]]
И выводит пять ресурсов, хотя в limit задаю другое
[[!looked?
&snippet=`msProducts`
&tpl=`tpl.msProducts.row_my`
&includeThumbs=`150x200`
&limit=`12`
]]
Можно обновляться.
А по лимитам, смотри — сниппет addLooked тоже имеет ограничение на запись в сессию, по умолчанию: 5.
Укажи ему сколько требуется, — должно быть всё норм.
И да — спасибо за указание ошибок!
А по лимитам, смотри — сниппет addLooked тоже имеет ограничение на запись в сессию, по умолчанию: 5.
Укажи ему сколько требуется, — должно быть всё норм.
И да — спасибо за указание ошибок!
Спасибо! Все работает.
Добрый день!
Та же проблема с limit
Та же проблема с limit
[[addLooked?
&limit=`20`
&templates=`3`
]]
[[!looked?
&limit=`20`
&tpl=`_tpl.msProducts.row`
]]
Но выводит всего 4 последних просмотренных. Версия 1.0.0-pl.
Покажешь?
Здравствуйте!
Делаю подключение &includeThumbs=`218x218` в чанке пытаюсь вывести [[+218x218]] и ничего не происходит.
Забыл подключить &snippet=`msProducts` ) сорри
Спасибо за компонент!
Делаю подключение &includeThumbs=`218x218` в чанке пытаюсь вывести [[+218x218]] и ничего не происходит.
Забыл подключить &snippet=`msProducts` ) сорри
Спасибо за компонент!
При первом выводе, компонент показывает какие то рандомные товары, причем разным пользователям одни и те же. После чистки кэша и куки, начинает работать как надо. Как его заставить выводить товары только реально просмотренные конкретным пользователем, кто просматривает страницу?
Сниппет нужно вызывать не кешиуемым, отредактировал топик.
Ну я тоже так подумал, и поставил! в начале. Проблема осталась. Кэш сайта уже почистил всего. Что еще сделать?
Не знаю. Я таких проблем не встречал, да и ты только об этом написал. Видимо у других тоже всё хорошо.
Даже не знаю чем помочь. Ссылка есть, чтоб посмотреть?
Даже не знаю чем помочь. Ссылка есть, чтоб посмотреть?
Я тоже столкнулся с аналогичной проблемой.
Где можно посмотреть?
можно Ваш скайп, пожалуйста?
yugan999
Исправлено. Можно обновляться.
Еще вопрос есть. Задача вывести блок Вы смотрел, только после просмтра юзером трех товаров, как это можно реализовать?
Заказать разработку дополнительного функционала наверное.
А как вывести количество просмотренных? Хочу сделать, чтобы число просмотренных отображалось.
Подсчёт количества не реализован, но можно добавить..., в принципе.
Только не понятно что считать — все просмотры, пока жива сессия или только те, которые записаны. Там же сколько укажешь записывать, столько и пишется — более старые просмотры заменяются новыми.
Только не понятно что считать — все просмотры, пока жива сессия или только те, которые записаны. Там же сколько укажешь записывать, столько и пишется — более старые просмотры заменяются новыми.
По идее Вы правы, конечно правильнее все которые в сессии выводить, но отображать например, не все. Тогда смысла в том, что цифра будет стоять 36, а реально отобразиться в блоке только 5 или 10 нет…
и все таки — как вывести Общее число из сессии. на данном этапе это возможно или в принципе нет?
и все таки — как вывести Общее число из сессии. на данном этапе это возможно или в принципе нет?
Добавь после этой строчки
А я завтра обновлю компонент.
$modx->toPlaceholder('count', count($arrIds), 'looked');
Количество, хранящееся в сессии будет в плейсхолдере[[+looked.count]]
В любом месте страницы, где вызывается сниппет.А я завтра обновлю компонент.
Спасибо, все работает!
Может быть глупый вопрос но все же. Можно как то убить сессию при выходе с сайта или закрытия браузера? Что бы просмотренные страницы стерлись! Подскажите пожалуйста!
В ff компонент отображает всё как надо, но в хроме и опере не кажет совсем (просто пустое место там где оно должно быть). Я везунчик?
Здравствуйте!
После последнего обновления ms2Gallery looked перестал работать.
Вот такая связка выдаёт белый экран.
После последнего обновления ms2Gallery looked перестал работать.
Вот такая связка выдаёт белый экран.
[[looked?
&tpl=`lookedTplMy`
&tplOuter=`lookedOuterTplMy`
&limit=`4`
&snippet=`ms2GalleryResources`
&includeTVs=`price1`
&includeThumbs = `190x143,255x191`
]]
До этого всё работало…
Добрый день.
Пытаюсь вывести количество просмотренных, но с условием, на пустоту. Почему -то постоянно выводит 0
Пытаюсь вывести количество просмотренных, но с условием, на пустоту. Почему -то постоянно выводит 0
[[+looked.count:!empty=`[[+looked.count]]`:else=`0`]]
А так?
[[+looked.count:notempty=`[[+looked.count]]`]]
А зачем делать проверку? Если нет просмотренных, Looked вообще ничего не выводит.
Мне нужно вывести 0, если нет просмотренных. А то у меня количество просмотренных выводится в шапке сайта, в скобочках. И если там пусто, то получается () — некрасиво))
Попробуй так:
[[+looked.count:default=`0`]]
Такая запись также выводит постоянно ноль. (0)
Проверил, вызов плейсхолдера без условий выводит 0, если нет просмотренных
[[+looked.count]]
Не выводит — пустоту выдает.
Подскажите, пожалуйста, как можно реализовать, чтобы если счетчик равен или больше указанного лимита — подставлялся знак ">"?
Пробую указать &limit=`6` (у обоих сниппетов). Даже в addLooked явно указываю в коде:
6 товаров вывелось только при таком вызове:
$limit = $modx->getOption('limit', $scriptProperties, '6');
Всё равно выводит только 5 товаров.6 товаров вывелось только при таком вызове:
[[addLooked? limit=`7`]]
+ обратил внимание, что looked не выводит первый просмотренный товар.
У меня плейсхолдер [[+looked.count]] вообще отсутствует в списке при выводе без шаблона.
И использование его в шаблоне соответственно всегда дает пустоту.
Каким образом до него достучаться?
Спасибо.
И использование его в шаблоне соответственно всегда дает пустоту.
Каким образом до него достучаться?
Спасибо.
Добрый день!
Делаю такую конструкцию. Есть кнопка «Просмотренные товары» при клике на нее, снизу поднимается блок с товарами.
Вопрос как сделать конструкцию, что бы если еще нет просмотренных товаров, то скрывать кнопку «Просмотренные товары»?
Спасибо!
Делаю такую конструкцию. Есть кнопка «Просмотренные товары» при клике на нее, снизу поднимается блок с товарами.
Вопрос как сделать конструкцию, что бы если еще нет просмотренных товаров, то скрывать кнопку «Просмотренные товары»?
Спасибо!
Уточнение, кнопка будет отдельно стоять от основного блока (речь идет про верстку). Поставить её рядом нет возможности.
Не чего лучше не придумал, как:
[[looked:notempty=`[[looked? &tplOuter=`tplLookedButton`]]`]]
Если у кого будет более быстрый вариант, пишите!
День всем добрый кто нибудь пробовал запускать через Fenom?
Конструкция ниже в упор не заводится…
Конструкция ниже в упор не заводится…
{$_modx->runSnippet('looked', [
'limit' => '3',
'includeThumbs' =>'200x200',
'tpl'=>'lookedTpl',
'snippet'=>'msProducts',
'class'=>'msProducts',
])}
Не заведётся — исправлю в ближайшее время.
Обновился, посыпались ошибки:
[2017-08-29 19:25:55] (ERROR @ /core/components/looked/model/looked/looked.class.php : 57) looked_err_empty_snippetmsProducts
На что ругается, как исправить?
Указанный сниппет не найден, в данном случае msProducts (по умолчанию).
Не совсем понял, вызов:
[[!looked?
&snippet=`pdoResources`
&includeTVs=`tplH1,tplImage`
&limit=`8`
&templates=`3,4`
&tplOuter=`tplLookedOuter`
&tpl=`tplLooked`
]]
&templates — это параметр другого сниппета.
А так всё правильно, у себя проверил — ошибок нет.
А так всё правильно, у себя проверил — ошибок нет.
Можно еще раз?
Вызов (весит в подвале т.е. на всех страницах сайта)
Ошибка та же:
Вызов (весит в подвале т.е. на всех страницах сайта)
[[addLooked?
&templates=`3,4`
&limit=`6`
]]
[[!looked?
&snippet=`pdoResources`
&includeTVs=`tplH1,tplImage`
&limit=`6`
&tplOuter=`tplLookedOuter`
&tpl=`tplLooked`
]]
Ошибка появляется только тогда, когда я захожу в категорию. Когда внутри страницы, то ошибок нет. Подумал, что может в этом проблема? Перенес снипет addLooked в шаблоны 3,4 но ошибка все равно повторяется в категориях, как будто игнорируется параметр &snippetОшибка та же:
[2017-08-30 10:01:15] (ERROR @ /core/components/looked/model/looked/looked.class.php : 57) looked_err_empty_snippetmsProducts
Обновился до 1.1.0-beta1
Ошибка окультурилась )))
Ошибка окультурилась )))
[2017-08-30 13:33:38] (ERROR @ /core/components/looked/model/looked/looked.class.php : 57) Указанный сниппет не найден - msProducts
Не могу я твою ошибку воссоздать — это, видимо, только у тебя проблема.
Если доступ пришлёшь на marat@marabar.ru, вечером гляну.
Если доступ пришлёшь на marat@marabar.ru, вечером гляну.
Марат, спасибо за дополнение, отличное. Мог бы подсказать, пожалуйста, как зацепить и вывести миниатюру первого фото из ms2gallery? Используется на обычном сайте, без магазина. Пытаюсь так, но не работает:
[[!looked?
&snippet=`pdoResources`
&leftJoin=`{
"120x90": {"class":"msResourceFile","alias":"120x90", "on": "120x90.resource_id = modResource.id AND 120x90.path LIKE '%/120x90/' AND 120x90.rank=0"}
}`
&select=`{
"modResource":"*"
,"120x90":"120x90.url as 120x90"
}`
]]
Спасибо заранее.
Доброго времени суток, поддержка феном еще не появилась?
Давно уже есть
Добрый день!
Спасибо за дополнение!
Столкнулся с проблемой. На странице со списком статей делаю вызов:
Что я делаю не так?
Спасибо за дополнение!
Столкнулся с проблемой. На странице со списком статей делаю вызов:
[[!pdoPage?
&element=`pdoResources`
&parents=`42`
&limit=`3`
&sortby=`publishedon`
&includeContent=`1`
&includeTVs=`tv.img_page`
&totalVar=`totalCount`
&tpl=`@INLINE <div class="news-box">
<em class="date-ago">{{+publishedon:dateAgo}}</em>
<h2>{{+pagetitle}}</h2>
<img class="img-thumb" src="{{+tv.tv.img_page}}" alt="{{+pagetitle}}">
{{+content:ellipsis=`500`}}
<div class="more"><a href="{{+uri}}">Подробнее...</a></div>
</div>`
&tplPageWrapper=`@INLINE <div class="pagination-block"><ul class="pagination">[[+prev]][[+pages]][[+next]]</ul></div>`
&tplPage=`@INLINE <li><a href="[[+uri]]">[[+pageNo]]</a></li>`
&tplPageActive=`@INLINE <li class="active"><a href="[[+uri]]">[[+pageNo]]</a></li>`
&tplPageFirst=``
&tplPageLast=``
&tplPagePrev=`@INLINE <li class="control"><a href="[[+uri]]" class="prev"></a></li>`
&tplPageNext=`@INLINE <li class="control"><a href="[[+uri]]" class="next"></a></li>`
&tplPageSkip=`@INLINE <li class="disabled"><span>...</span></li>`
&tplPageFirstEmpty=``
&tplPageLastEmpty=``
&tplPagePrevEmpty=`@INLINE <li class="disabled"><span class="prev"></span></li>`
&tplPageNextEmpty=`@INLINE <li class="disabled"><span class="next"></span></li>`
]]
[[!+page.nav]]
На этой же странице вызываю:[[!looked?
&snippet=`pdoResources`
&ids=`0`
&parents=`0`
&limit=`3`
&tplOuter=`@INLINE <div>[[+output]]</div>`
&tpl=`@INLINE <p><a href="{{+uri}}" class="ico-link">{{+pagetitle}}</a></p>`
]]
Сниппет looked выводит просмотренные страницы в соответствии с параметром &tpl=`@INLINE … ` сниппета pdoResources, вызванного в pdoPage, но не &tpl=`@INLINE ... ` сниппета looked. То есть использует параметр &tpl из вызова другого сниппета. Если убрать обертку pdoPage у сниппета pdoResources — то выводится корректно. Что я делаю не так?
Здравствуйте.
&limit вызове обоих сниппетов прописал, но всё равно выводит только 4 товара, в сниппете addLooked тоже правил, результат не отличается…
в чём может быть проблема?
&limit вызове обоих сниппетов прописал, но всё равно выводит только 4 товара, в сниппете addLooked тоже правил, результат не отличается…
в чём может быть проблема?
видимо дело было в кеше, всё работает.
Приветствую. Очень интересный момент произошёл, вывел блоки просмотренных, нажал кнопку Х, всё удалилось, но вот после очистки кэша сайта, чистки кэша браузера блок не выводится, в логах сайта 0. Сталкивался ли кто?
Здравствуйте!
Возможно исключить служебные страницы из Looked? Например, страница 404, контакты.
Я пробую так:
Есть ли решение? Спасибо!
Возможно исключить служебные страницы из Looked? Например, страница 404, контакты.
Я пробую так:
[[!addLooked?
&limit=`10`
&resources=`-598,-211,-703,-70,-685,-557,-558,-577,-596,-41`
]]
[[!looked?
&snippet = `pdoResources`
&tpl=`lookedTpl2`
&limit=`10`
&resources=`-598,-211,-703,-70,-685,-557,-558,-577,-596,-41`
]]
Но, к сожалению, все равно выводит и страницу 404, и все без исключений.Есть ли решение? Спасибо!
Здравствуйте! А можно ли с помощью Looked посчитать клики пользователя по ссылкам на странице?
Есть страница (она одна), с помощью pdoResources выводятся документы: заголовок, комментариий, ссылка. И меня озадачили сделать учет клика по этим ссылкам пользователем, чтобы в личном кабинете можно было посмотреть, какие документы были изучены.
Есть страница (она одна), с помощью pdoResources выводятся документы: заголовок, комментариий, ссылка. И меня озадачили сделать учет клика по этим ссылкам пользователем, чтобы в личном кабинете можно было посмотреть, какие документы были изучены.
Доброго! А компонент вообще работает? у меня проблема с выводом цены и фото товара. Выводит данные товара в котором находимся.
Покажите как выводите.
Добрый день.
А как на fenom будет выглядеть вывод параметра [[+looked.count]] в чанке tplOuter?
Спасибо.
А как на fenom будет выглядеть вывод параметра [[+looked.count]] в чанке tplOuter?
Спасибо.
Вот так работает
{$_modx->getPlaceholder('looked.count')}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.