Не могу запустить pdo внутри чанка, обрабатываемого через плагин, как исправить?
Есть плагин, в котором генерируются ресурсы, все выводится нормально, почти.., но не могу там запустить допустим сниппет, или эту команду [[#[[+tv.customer-id]].pagetitle]] он выводит это как текст, а если ставить просто [[+tv.customer-id]], то тупо выведет айди, а нужно, чтобы вывел заголовок страницы.
Часть кода
Часть кода
$params = array(
'parents' => $parent,
'limit' => 6,
'depth' => 1,
'offset' => $offfset,
'level' => 1,
'tpl' => $tpl,
'includeTVs' => $tvs,
'where' => $modx->toJSON($where)
);
$goods = $modx->runSnippet('pdoPage',$params);
Так выглядит темплейт.<tr>
<td>[[+idx]]</td>
<td>
<p>
[[+pagetitle]]
</p>
</td>
<td>
<p>
[[+tv.object-name]]
</p>
</td>
<td>
<p>[[#[[+tv.project-type]].pagetitle`]]</p>
</td>
<td>
<p>
[[+tv.from-year]][[+tv.by-year:!empty=`-[[+tv.by-year]]`]]
</p>
</td>
<td>
<p>
[[+tv.project-additional]]
</p>
</td>
</tr>
Комментарии: 2
Как только не пробовал
Как всегда…
Добавляем это в ваш плагин
Добавьте это в конец вашего плагина
Добавляем это в ваш плагин
$hash = (string) $_POST['hash'];
Затем удалите все в вашем коде, за исключением генерации whereДобавьте это в конец вашего плагина
$_SESSION['pdoPage'][$hash]['where'] = $where;
$output['message'] = $where;
$output['success'] = true;
echo $modx->toJSON($output);
die();
В ваш код отправки, необходимо добавить тот самый хэш, а также сказать пдо использовать новый конфиг.function sendAjaxFilterToServer(fields){
$.post(document.location.href, {
action: 'filter',
fields: fields,
hash: pdoPage.configs.page.hash
}, function(data) {
var tmp = document.location.href;
pdoPage.keys.page = 0;
pdoPage.loadPage(tmp, pdoPage.configs.page);
});
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.