Чанки и плейсхолдеры

Подскажите, пожалуйста.

Есть чанк tpl.Schedule.col

<td data-toggle="tooltip" data-placement="top" title="" data-original-title="">[[+data]]</td>
Где [[+data]] подключает другой чанк tpl.Schedule.col.data.web

[[+program:getResourceTitle]]
<span class="trener">[[+trainer:getResourceTitle]]</span>
[[+otmena:notempty=`<span class="otmena">[[+otmena]]</span>`]]
Как мне в tpl.Schedule.col вывести дополнительно плейсхолдер, например [[+program]] в title?
Ни так [[+program:getResourceTitle]] ни так [[+program]] не работает.
Ольга
11 июля 2018, 11:47
modx.pro
795
0

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

Антон Тарасов
11 июля 2018, 13:43
0
Интересно, дочерние теги видят родительские(некешируемые!), а вот наоборот…
А вот там вот, где у вас
Где [[+data]] подключает другой чанк tpl.Schedule.col.data.web
нельзя явно еще и program в чанк tpl.Schedule.col передать )?
    Ольга
    11 июля 2018, 15:03
    0
    Вот так не работает. А как передать пока не знаю :(

    <td data-toggle="tooltip" data-placement="top" title="[[+program]]" data-original-title="">[[+data]]</td>
    
    <td data-toggle="tooltip" data-placement="top" title="[[+program:getResourceTitle]]" data-original-title="">[[+data]]</td>
      Антон Тарасов
      11 июля 2018, 15:41
      0
      Можно пожалуйста чуть больше подробностей — вы со Schedule компонентом очевидно работаете, из репозитория? как вызываете сниппет, есть ли параметры?
        Ольга
        31 июля 2018, 15:31
        0
        Да, с Schedule из репозитория. Вывожу таким образом: [[Schedule? &resource=`12` &limit=`0`]]

        tpl.Schedule.col — выводит ячейку
        <td data-toggle="tooltip" data-placement="top" title="" data-original-title="">[[+data]]</td>
        tpl.Schedule.col.data.web — выводит ячейку
        [[+program:getResourceTitle]]
        <span class="trener">[[+trainer:getResourceTitle]]</span>
        [[+otmena:notempty=`<span class="otmena">[[+otmena]]</span>`]]
        tpl.Schedule.outer — выводит таблицу
        <table class="schedule blue-table">
        <thead>
        <tr>
        <th></th>
        <th>Понедельник</th>
        <th>Вторник</th>
        <th>Среда</th>
        <th>Четверг</th>
        <th>Пятница</th>
        <th>Суббота</th>
        <th>Воскресенье</th>
        </tr>
        </thead>
        [[+rows]]
        </table>
        tpl.Schedule.row — выводит строку в таблице
        <tr>
        	<td>[[+time:strtotime:date=`%H:%M`]]</td>
        	[[+cols]]
        </tr>
        Schedule — сниппет
        <?php
        $scriptProperties['render_data_tpl'] = $scriptProperties['tplCol.data'];
        
        $modx->Schedule = $modx->getService('schedule','Schedule',$modx->getOption('schedule.core_path',null,$modx->getOption('core_path').'components/schedule/').'model/schedule/',$scriptProperties);
        if (!($modx->Schedule instanceof Schedule)) return '';
        
        $response = $modx->runProcessor('mgr/schedule/getlist'
        	,$scriptProperties
        	,array('processors_path' => $modx->Schedule->config['processorsPath'])
        );
        if ($response->isError()) {
        	return $modx->error->failure($response->getMessage());
        }
        $records = json_decode($response->response, 1);
        $data = array();
        foreach ($records['results'] as $v) {
        	$data[$v['time']][$v['day']] = $v['data'];
        }
        ksort($data);
        
        $rows = '';
        foreach ($data as $k => $v) {
        	$cols = '';
        	for ($i = 1; $i <= 7; $i++) {
        		if (isset($v[$i])) {
        			$data = $v[$i];
        		}
        		else {$data = '';}
        		
        		$cols .= $modx->getChunk($tplCol, array('data' => $data));
        	}
        	$rows .= $modx->getChunk($tplRow, array('time' => $k, 'cols' => $cols));
        }
        
        $output = $modx->getChunk($tplOuter, array('rows' => $rows));
        return $output;
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4