Не работает MultiTV внутри DocLister

Всем привет.
Не работает вывод картинок из MultiTV внутри DocLister.

Делаю так:

[!DocLister?
&id=`list`
&depth=`1`
&parents=`2`
&tvList=`gall_image`
&summary=`notags,len:100`
&tpl=`@CODE
<div class="col-md-4 event-item">
	<span class="overlay-img"></span>
	
	<div class="card">
		<img src="[!multiTV? 
					  &tvName=`gall_image` 
					  &display=`1`
					  &rowTpl=`@FILE:/assets/tvs/multitv/configs/1afbeelding-lijst.tpl`
					  &docid=`[+id+]`
					  !]" class="card-image">
		<div class="hidden-title">
			<div class="card-boat-title">
				<h1>[+pagetitle+]</h1>
				<h3><a class="book-this" href="[+url+]">[+longtitle+]</a></h3>
			</div>
		</div>
	</div>
</div>
`
!]


Пробовал выносить tpl в отдельный чанк — всё также — пусто в img src=
Все остальные теги работают правильно. Вызывал сниппеты [[snippet]] и [!snippet!] — ничего не работает.

Если вызвать [+tv.gall_image+] то выводит все картинки в json-формате.

Кэш чистил. Не кэшированным вызывал.

На другом сайте такая конструкция работает.

Что я сделал не так?

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

avatar
кешируемые вызовы внутри сниппетов не допустимы используйте [[MultiTv]]
avatar
Сделал так:
<code>
[!DocLister?
&id=`list`
&depth=`1`
&parents=`2`
&tvList=`gall_image`
&summary=`notags,len:100`
&tpl=`@CODE
<div class="col-md-4 event-item">
        <span class="overlay-img"></span>
        
        <div class="card">
                <img src="[[multiTV? 
                                          &tvName=`gall_image` 
                                          &display=`1`
                                          &docid=`[+id+]`
                                          ]]" class="card-image">
                <div class="hidden-title">
                        <div class="card-boat-title">
                                <h1>[+pagetitle+]</h1>
                                <h3><a class="book-this" href="[+url+]">[+longtitle+]</a></h3>
                        </div>
                </div>
        </div>
</div>
`
!]
</code>

Не работает. Пробовал опять вынести в отдельный чанк — также не работает.

На другом сайте работает даже [!MultiTv!].

Как так?
Комментарий отредактирован 2018-05-17 15:49:21 пользователем antonfix
avatar
!]

Будьте внимательны
avatar
Везде сделал [!snippet!] — не работает.
avatar
avatar
Поместите содержимое тега &tpl в чанк и в теге &tpl укажите название сайта.
Сниппеты не работают при инлайновом вызове
avatar
Простите, это что значит «указать название сайта в теге &tpl»?
avatar
Сорри — созданного чанка.
Отвлекся, не то написал
avatar
Вот так тоже не работает.

[!DocLister?
&id=`list`
&depth=`1`
&parents=`2`
&tvList=`gall_image`
&summary=`notags,len:100`
&tpl=`event`
!]


Чанк event:

<div class="col-md-4 event-item">
        <span class="overlay-img"></span>
        
        <div class="card">
                <img src="[[multiTV? 
                                          &tvName=`gall_image` 
                                          &display=`1`
                                          &docid=`[+id+]`
                                          ]]" class="card-image">
                <div class="hidden-title">
                        <div class="card-boat-title">
                                <h1>[+pagetitle+]</h1>
                                <h3><a class="book-this" href="[+url+]">[+longtitle+]</a></h3>
                        </div>
                </div>
        </div>
</div>
avatar
У меня и так сработало:
[!DocLister?
&id=`list`
&depth=`1`
&parents=`1082`
&tvList=`price_spec`
&summary=`notags,len:100`
&tpl=`@CODE: [[multiTV? 
&tvName=`price_spec` 
&display=`1`
&docid=`[*id*]`
]]`
!]

проверьте названия tv, ну и смотря где вызываете [*id*] или [*id*]
avatar
НУ ЧТО Я ДЕЛАЮ НЕ ТАК??? =))))


чанк home_event
avatar
попробуй в чанке home_event вывести просто [+tv.gall_image+] что выведет?
avatar
Так работает и выводит всю json-строку со всеми картинками. То есть, сам ТВ работает. Сниппет нет.
avatar
а если вызвать мультиТВ не внутри доклистера а просто в шаблоне указав жестко docid?
avatar
Все проще — у вас нет префикса для ТВ

Вы выводите [+gall_image+], а нужно [+tv.gall_image+]

Или в параметрах доклистера укажите &tvPrefix=`` с пустотой внутри, тогда будет работать без префикса
Комментарий отредактирован 2018-05-18 00:41:12 пользователем gumoviy
avatar
вы не правы там префикс ненужен более того там [+ +] тоже ненужны. у меня предположения что ошибка в rowTpl в конфиге мультТВ
avatar
Я думал внутри файла 1afbeelding-lijst.tpl используется этот тег. Вот его и показывает без префикса.

А так:
[!multiTV? &tvName=`gall_image` — здесь tvName — это название конфига и ТВ? Или все-таки то, что получает из ТВ gall_image?

Вот в этом и вопрос. Где gall_image переменная? Внутри multitv или внутри doclister?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.