Как вывести в DocLister MultiTv с разных страниц?

Как вывести в DocLister MultiTv с разных страниц?

19 комментариев

avatar
avatar
Как вывести multitv я знаю, я не знаю как вывести его через DocLister
avatar
Вызвать в чанке или в prepare-сниппете. Вы поточнее вопрос сформулируйте, что хотите откуда и куда вывести.
avatar
Есть страницы с городами, там выводится через мульти тв, название города, телефон, герб.и вот надо на одной какой то странице вывести список этих городов с данными. Вывксти хочу через doclister. Создавал яан к с вызовом multitv, потом пробывал вывести этот чанк через doclister. Ничего не выводит
avatar
Вызов multiTv в чанке доклистера у меня работает без пробем. Покажите, как вызываете и что у вас в чанке.
avatar
Чанк region_TPL
[[multiTV?
 &tvName=`region`
&docid=`[*id*]`
&outerTpl=`@CODE:((wrapper))`
&rowTpl=`regionew_TPL`
&display=`all`]]

Чанк regionnew_TPL
<div class="col-lg-4">
[[if? &is=`[+outside+]:not_empty` &then=`
<a class="regionhref" href="tel:[+number+]">
<div class="wrap">
<div class="ico-wrap">
<img src="[+image+]" alt="[+sity+]">
</div>
<div class="text-wrap vcenter">
<h2 class="mbr-fonts-style mbr-bold mbr-section-title3 display-5">[+sity+]</h2>
<p class="d-block d-sm-flex align-items-center">
<img src="assets/images/icons/map.png" alt="Адрес">
<span class="">[+outside+]</span>
</p>
<p class="d-block d-sm-flex align-items-center">
<img src="assets/images/icons/phon.png" alt="Телефон">
<span class="">[+number+]</span>
</p>
<p class="d-block d-sm-flex align-items-center">
<img src="assets/images/icons/clock.png" alt="Время работы">
<span class="">[+clock+]</span>
</p>
</div>
</a>` &else=`
class="wrap">
<div class="ico-wrap">
<img src="[+image+]" alt="[+sity+]">
</div>
<div class="text-wrap vcenter">
<h2 class="mbr-fonts-style mbr-bold mbr-section-title3 display-5">[+sity+]</h2>
<p class="d-block d-sm-flex align-items-center">
Найти ближайшего диллера
</p>
</div>
</div>`]]
</div>

Вызов docLister
[[DocLister? 
&display=`all`
&orderBy=`menuindex ASC`										&parents=`7`										&tvList=`region` 										&renderTV=`region`										&tpl=`region_TPL`										&depth=`0`										&noneTPL=`@CODE:<div class="col-12">Категорий нет</div>`									]]
avatar
А вам точно нужно в multiTV вытащить все значения именно из документа-текущей страницы, а не документа, переданного ДокЛистером?
Имею в виду, что у вас в чанке region_TPL передается [*id*]. Если передавать идентификатор, найденный ДокЛистером, то нужно передавать &docid=`[+id+]` вместо &docid=`[*id*]`.
avatar
Спасибо вывело, но есть нюанс,[]остались вокруг каждого блока
avatar
На всякий случай:
multitv — кэшируемый
doclister — НЕ кэшируемый
multitv именно в чанке, а не на странице с doclister
avatar
Попробовал как вы сказали, вывело это
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
Ну хоть что-то вывело…
avatar
Если у вас multiTV в чанке, в нем должно быть
&docid=`[+id+]`
avatar
Спасибо вывело, но есть нюанс,[]остались вокруг каждого блока
avatar
у вас же там еще сниппет if есть в третьей ступени, возможно от него, накурочено все как-то, постарайтесь упростить. Сниппет в сниппете это вообще-то не очень, а у вас матрешка — сниппет в сниппете в снипете.

Можете попробовать if сделать не кэшируемым или может он вообще не нужен.
avatar
Нет он никак не влияет, оставил лишь один текст вывело текст и эти скобки по боками, причем выводит все что есть в категории, даже там где этот multitv не присвоен
avatar
Скобочки где-то либо не закрылись/открылись, либо какой-то спецсимвол присутствует в передаваемых параметров. Убирайте кусочки чанка по частям и смотрите, на каком этапе появляются/убираются эти скобочки.
avatar

&else=`
class="wrap">

ВОт тут явно что-то странное — не открыт тег, при этом указан класс и закрытие тега. Точно div не пропустили?
avatar
Тут прошу прощения, некорректно вставил
avatar
Еще убедитесь, что параметр [+outside+] не может содержать двоеточия. Если оно там есть, то у вас сломается проверка if — в этом случае придумайте свой разделитель для if и задайте его в параметре separator.
avatar
Нашел причину, multitv был обернут в [[]], оставил только [], и все заработало. Спасибо вам и всем остальным за помощь!!!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.