Чанки и плейсхолдеры
Подскажите, пожалуйста.
Есть чанк tpl.Schedule.col
Ни так [[+program:getResourceTitle]] ни так [[+program]] не работает.
Есть чанк 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]] не работает.
Комментарии: 4
Интересно, дочерние теги видят родительские(некешируемые!), а вот наоборот…
А вот там вот, где у вас
А вот там вот, где у вас
Где [[+data]] подключает другой чанк tpl.Schedule.col.data.webнельзя явно еще и program в чанк tpl.Schedule.col передать )?
Вот так не работает. А как передать пока не знаю :(
<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>
Можно пожалуйста чуть больше подробностей — вы со Schedule компонентом очевидно работаете, из репозитория? как вызываете сниппет, есть ли параметры?
Да, с Schedule из репозитория. Вывожу таким образом: [[Schedule? &resource=`12` &limit=`0`]]
tpl.Schedule.col — выводит ячейку
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;
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.