Как вывести значения tv дочерних элементов?

Всем привет!
Столкнулся с такой задачей: у фотошколы есть курсы, в курсах есть группы обучения (вечерние, утренние, воскресные и т.д.) Мне нужно выводить в карточке курса следующую информацию:
название группы 1 — дата начала проведения
название группы 2 — дата начала проведения
Препод 1
Препод 2

Реализовал данную структуру
Для имен преподов завел тв teacher, а за дату начала проведения буду брать значения из созданного ранее tv datebegin Вывожу вот это все так:
[[!pdoResources?
    &tpl=`@INLINE
			<div class="column">
			   <div class="sc-top-event-item" data-equalizer-watch>
				  <a class="sc-bl" href="/[[+uri]]">
				  <img class="lazy" title="[[+pagetitle]]" alt="[[+pagetitle]]" data-original="[[+tv.PageImage]]" height="180" width="289">
				  </a>
				  <div class="sc-top-event-time">[[#[[+id]].datebegin:date=`%e %b`]] - [[#[[+id]].dateend:date=`%e %b`]]</div>
				  <div class="sc-top-event-price">[[+tv.price]] руб.</div>
				  <div class="sc-top-event-title">[[+pagetitle]]</div>
				  <div class="sc-top-event-teacher"><a class="sc-top-event-link" href="[[#[[+tv.teacher]].uri]]">[[#[[+tv.teacher]].pagetitle]]</a></div>
				  <a href="/[[+uri]]" class="button">Узнать больше</a>
				  <div class="sc-top-item-line"></div>
			   </div>
			</div>`
    &parents=`4`
    &limit=`0`
    &depth=`0`
    &includeTVs=`PageImage,datebegin,dateend,price,teacher`
    &sortby=`publishedon` 
    &sortdir=`ASC`]]
а как выводить в курсе значения tv дочерних ресурсов, т.е. утренняя группа, вечерняя, воскресная группа? из самого ресурса у меня получается выводить значения...
Roman
06 апреля 2018, 20:38
140
0

Комментарии: 3

Баха Волков
10 апреля 2018, 08:07
+1
Я же отвечал вам вроде, запись эта удалилась и снова появилась.

Для того чтобы это сделать (если вы не хотите пользоваться шаблонизаторами например fenom), то во первых избавьтесь от @INLINE, т.е. вынесите результаты в чанк и там уже запустите еще раз pdoResources, пример:

<div class="column">
			   <div class="sc-top-event-item" data-equalizer-watch>
				  <a class="sc-bl" href="/[[+uri]]">
				  <img class="lazy" title="[[+pagetitle]]" alt="[[+pagetitle]]" data-original="[[+tv.PageImage]]" height="180" width="289">
				  </a>
				  <div class="sc-top-event-time">[[+tv.datebegin:date=`%e %b`]] - [[+tv.dateend:date=`%e %b`]]</div>
				  <div class="sc-top-event-price">[[+tv.price]] руб.</div>
				  <div class="sc-top-event-title">[[+pagetitle]]</div>
				
				<!-- Мы решили выводить тут -->

				[[pdoResources?
					&select=`uri,pagetitle`
					&parents=`[[+id]]`
					&tpl=`@INLINE <li><a href="[[+uri]]">[[+pagetitle]]</li>`
					&tplWrapper=`@INLINE <ul>[[+output]]</ul>`
				]]



				  <div class="sc-top-event-teacher"><a class="sc-top-event-link" href="[[#[[+tv.teacher]].uri]]">[[#[[+tv.teacher]].pagetitle]]</a></div>
				  <a href="/[[+uri]]" class="button">Узнать больше</a>
				  <div class="sc-top-item-line"></div>
			   </div>
			</div>
И вот еще что, я писал, что конструкция типа этого неправильная:

[[#[[+id]].datebegin:date=`%e %b`]] - [[#[[+id]].dateend:date=`%e %b`]] // Это совсем лишнее

[[+tv.datebegin:date=`%e %b`]] - [[+tv.dateend:date=`%e %b`]] // Вот так правильно
Вы же сделали запрос в базу, достали массив с данными где эти данные есть, а вы еще раз с тегами fastFiled делаете лишний запрос для того чтобы достать те же данные которые есть у вас
    Roman
    10 апреля 2018, 11:52
    0
    Спасибо!
    Roman
    11 апреля 2018, 22:06
    0
    А как вывести курсы, у которых дочерние элементы имеют ТВ параметр teacher==3, т.е. мне не сами дочерние элементы нужны, а родители?
    Допустим у меня на странице преподавателя должны выводиться только курсы, которые ведет препод
    s12861.h8.modhost.pro/teachers/konovalov-valerij
    На данной странице у меня препод должен вести Профессиональный курс, Базовый курс, Детский, Макромир и прочеее…