Как вывести значения 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 дочерних ресурсов, т.е. утренняя группа, вечерняя, воскресная группа? из самого ресурса у меня получается выводить значения...
06 апреля 2018, 23:38    Roman   G+  
0    52 0


Комментарии ()

  1. Баха Волков 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 делаете лишний запрос для того чтобы достать те же данные которые есть у вас
    1. Roman 10 апреля 2018, 11:52 # 0
      Спасибо!
      1. Roman 11 апреля 2018, 22:06 # 0
        А как вывести курсы, у которых дочерние элементы имеют ТВ параметр teacher==3, т.е. мне не сами дочерние элементы нужны, а родители?
        Допустим у меня на странице преподавателя должны выводиться только курсы, которые ведет препод
        s12861.h8.modhost.pro/teachers/konovalov-valerij
        На данной странице у меня препод должен вести Профессиональный курс, Базовый курс, Детский, Макромир и прочеее…
      Вы должны авторизоваться, чтобы оставлять комментарии.