Добрый день, вы недавно анонсировали TSVshopLastViews
вроде понял как получать id просмотренных товаров
не могли бы вы немного поподробнее описать как его использовать например с ditto или DocLister?
TSVshopLastViews
Re: TSVshopLastViews
Да, конечно. Сразу скажу, что вышло обновление сниппета для будущей версии модуля TSVshop 5.4.1, которое до выхода этой версии можно сказать здесь: https://github.com/Serg28/tsvshop/blob/master/install/assets/snippets/TSVshopLastViews.tpl
Приводу здесь описание именно под эту новую версию сниппета.
Документация к сниппету лежит здесь: http://tsvshop.xyz/dokumentacziya/dlya-veb-masterov/snippetyi1/snippet-tsvshoplastviews.html
Разницы нет, с Ditto или DocLister использовать.
Режим вывода просмотренных документов
Для вывода просмотренных товаров в виде списка документов через запятую делается так:
где &templateID - список ИД шаблонов страницы, к которым применять историю.
&mode=`ids` - (или пусто) режим вывода в виде ИД документов через запятую.
Бывает, что история просмотренных документов выводится в карточке товара (т.е. эту страницу тоже нужно учесть в историю), то &templateID обязателен. Если же история выводится на страницу, которую учитывать не нужно, &templateID указывать не обязательно.
В результате сниппет выведет список просмотренных документов в виде 10,100,5,8 (у которых ИД шаблона соответствует &templateID).
Этот вызов можно вставить в вызов Ditto или DocLister в параметр &documents приблизительно так:
Если вам не хочется делать вот такой вложенный вызов, можно сделать иначе. У TSVshopLastViews есть параметр &toPH. Сначала делаете вызов TSVshopLastViews с параметром &toPH=`1` и результат сниппета будет выводиться в плейсхолдер [+id.output+]. И сразу после этого вызов Ditto или DocLister, указав параметр &documents=`[+id.output+]`. Вот пример:
И DocLister выведет все просмотренные документы.
Вместо id нужно ставить то, что у вас указано в параметре &id. Напр., если в сниппете TSVshopLastViews указано &id=`news`, то вышеуказанный плейсхолдер будут выглядеть так: [+news.output+]. Если id не указан, то и в плейсхолдере не нужно указывать id, напр., [ +output+ ]
Режим вывода в сформированный по шаблону HTML
Если вы не хотите использовать DocLister или Ditto, можно вывести историю без их помощи. Достаточно в значении параметра &mode указать html, и сниппет выведет документы в окончательно сформированном виде.
Шаблоны (чанки) можно задавать с помощью
* &tpl = имя чанка с контейнером, куда выводится наименования ресурсов
* &itemTpl = имя чанка, выводящего каждое наименование ресурса
По умолчанию шаблон &tpl имеет вид:
Плейсхолдеры для этого шаблона:
[+id.count_recent+] - выводит кол-во просмотренных ресурсов
[+id.lines+] - вывод сформированного списка просмотренных товаров
[+id.unset+] - ссылка на сброс истории просмотра
Вместо id нужно ставить то, что у вас указано в параметре &id. Напр., если в сниппете указано &id=`news`, то вышеуказанные плейсхолдеры будут выглядеть так: [+news.count_recent+], [+news.lines+] и т.д. Если id не указан, то и в плейсхолдерах не нужно указывать id, напр., [ +count_recent+ ], [ +lines+ ] и т.д.
Шаблон &itemTpl вот такой:
Плейсхолдеры для шаблона &itemTpl
[+itemId+] - ИД ресурса
[+itemPageTitle+] - название ресурса pagetitle
Режим записи страницы в историю без вывода результата
Если нужно записать страницу в историю просмотра, но ничего не выводить в ней, то достаточно сделать так:
Обратите внимание!
Вызов сниппета TSVshopLastViews нужно делать на всех страницах, которые нужно учитывать в историю просмотра, а также там, где нужно выводить эту историю. Страница, где нет вызова сниппета, не будет учитываться в историю. Если на ней не нужно выводить историю, а только учесть ее, нужно указать в вызове сниппет параметр &mode=`save`.
Приводу здесь описание именно под эту новую версию сниппета.
Документация к сниппету лежит здесь: http://tsvshop.xyz/dokumentacziya/dlya-veb-masterov/snippetyi1/snippet-tsvshoplastviews.html
Разницы нет, с Ditto или DocLister использовать.
Режим вывода просмотренных документов
Для вывода просмотренных товаров в виде списка документов через запятую делается так:
Код: Выделить всё
[!TSVshopLastViews? &templateID=`3,10` &mode=`ids`!]
где &templateID - список ИД шаблонов страницы, к которым применять историю.
&mode=`ids` - (или пусто) режим вывода в виде ИД документов через запятую.
Бывает, что история просмотренных документов выводится в карточке товара (т.е. эту страницу тоже нужно учесть в историю), то &templateID обязателен. Если же история выводится на страницу, которую учитывать не нужно, &templateID указывать не обязательно.
В результате сниппет выведет список просмотренных документов в виде 10,100,5,8 (у которых ИД шаблона соответствует &templateID).
Этот вызов можно вставить в вызов Ditto или DocLister в параметр &documents приблизительно так:
Код: Выделить всё
[[DocLister? &documents=`[!TSVshopLastViews? &mode=`ids`!]`]]
Если вам не хочется делать вот такой вложенный вызов, можно сделать иначе. У TSVshopLastViews есть параметр &toPH. Сначала делаете вызов TSVshopLastViews с параметром &toPH=`1` и результат сниппета будет выводиться в плейсхолдер [+id.output+]. И сразу после этого вызов Ditto или DocLister, указав параметр &documents=`[+id.output+]`. Вот пример:
Код: Выделить всё
[!TSVshopLastViews? &mode=`ids` &toPH=`1`!]
[[DocLister? &documents=`[+id.output+]`]]
И DocLister выведет все просмотренные документы.
Вместо id нужно ставить то, что у вас указано в параметре &id. Напр., если в сниппете TSVshopLastViews указано &id=`news`, то вышеуказанный плейсхолдер будут выглядеть так: [+news.output+]. Если id не указан, то и в плейсхолдере не нужно указывать id, напр., [ +output+ ]
Режим вывода в сформированный по шаблону HTML
Если вы не хотите использовать DocLister или Ditto, можно вывести историю без их помощи. Достаточно в значении параметра &mode указать html, и сниппет выведет документы в окончательно сформированном виде.
Код: Выделить всё
[!TSVshopLastViews? &templateID=`3,10` &mode=`html`!]
Шаблоны (чанки) можно задавать с помощью
* &tpl = имя чанка с контейнером, куда выводится наименования ресурсов
* &itemTpl = имя чанка, выводящего каждое наименование ресурса
По умолчанию шаблон &tpl имеет вид:
Код: Выделить всё
<div class="recent">
[+count_recent+]
<ul>[+lines+]</ul>
</div>
Плейсхолдеры для этого шаблона:
[+id.count_recent+] - выводит кол-во просмотренных ресурсов
[+id.lines+] - вывод сформированного списка просмотренных товаров
[+id.unset+] - ссылка на сброс истории просмотра
Вместо id нужно ставить то, что у вас указано в параметре &id. Напр., если в сниппете указано &id=`news`, то вышеуказанные плейсхолдеры будут выглядеть так: [+news.count_recent+], [+news.lines+] и т.д. Если id не указан, то и в плейсхолдерах не нужно указывать id, напр., [ +count_recent+ ], [ +lines+ ] и т.д.
Шаблон &itemTpl вот такой:
Код: Выделить всё
<li><a target="_blank" href="[~[+itemId+]~]">[+itemPageTitle+]</a></li>
Плейсхолдеры для шаблона &itemTpl
[+itemId+] - ИД ресурса
[+itemPageTitle+] - название ресурса pagetitle
Режим записи страницы в историю без вывода результата
Если нужно записать страницу в историю просмотра, но ничего не выводить в ней, то достаточно сделать так:
Код: Выделить всё
[!TSVshopLastViews? &templateID=`3,10` &mode=`save`!]
Обратите внимание!
Вызов сниппета TSVshopLastViews нужно делать на всех страницах, которые нужно учитывать в историю просмотра, а также там, где нужно выводить эту историю. Страница, где нет вызова сниппета, не будет учитываться в историю. Если на ней не нужно выводить историю, а только учесть ее, нужно указать в вызове сниппет параметр &mode=`save`.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя