передать параметры чанку
добрый вечер, Василий
шаблону «pdoResourcesSel» нужно из сниппета передать параметры
как правильно это прописать?
спасибо!
шаблону «pdoResourcesSel» нужно из сниппета передать параметры
как правильно это прописать?
спасибо!
$params = array(
/* ... */
'totalVar'=>'queryTotal',
'tpl'=>'pdoResourcesSel?¶m1="param1" ¶m2="param2"'
);
$oppValue = ($_POST['oppValue']);
switch ($_POST['action']) {
case 'resultFabricator':
$params['where']='{"fabricator":"'.$oppValue.'"}';
$res = $modx->runSnippet('pdoResources', $params);
break;
/* ... */
}
Комментарии: 6
вообще мне нужно вот так:
на параметр ни сам чанк
чанк без параметра — работает
и так не работает:
/* .. */
case 'resultFabricator':
$params['where']='{"fabricator":"'.$oppValue.'"}';
$params['tpl']='pdoResourcesSel?¶m1="ddd"';
$res = $modx->runSnippet('pdoResources', $params);
break;
/* .. */
но так тоже не работаетна параметр ни сам чанк
чанк без параметра — работает
и так не работает:
$params['tpl']='{"pdoResourcesSel? ¶m1=`ddd`"}';
Так и не будет работать. В имени чанка указывается имя, а не конструкция для парсера.
Найди 10 отличий:
Найди 10 отличий:
/* .. */
case 'resultFabricator':
$modx->setPlaceholder('param1', 'ddd');
$params['where']='{"fabricator":"'.$oppValue.'"}';
$params['tpl']='pdoResourcesSel';
$res = $modx->runSnippet('pdoResources', $params);
break;
/* .. */
а, спасибо
я чё-то не подумал через — setPlaceholder
сделал несколько разных чанков пока ждал ответа
попробую в один теперь свети как хотел изначально
я чё-то не подумал через — setPlaceholder
сделал несколько разных чанков пока ждал ответа
попробую в один теперь свети как хотел изначально
не получается
чанк ДО
чанк ДО
<option data-filter="[[+tv.devicetype]]" value="[[+tv.fabricator]]">[[+tv.fabricator]]</option>
чанк ПОСЛЕ<option data-filter="[[+dataFilter]]" value="[[+valueIT]]">[[+nameIT]]</option>
снипет ПОСЛЕ/* .. */
$modx->setPlaceholder('dataFilter', '[[+tv.devicetype]]');
$modx->setPlaceholder('valueIT', '[[+tv.fabricator]]');
$modx->setPlaceholder('nameIT', '[[+tv.fabricator]]');
/* .. */
или надо значения TV получать сразу в снипете?
[[+tv.devicetype]] — от куда это взялось в сниппете? вам известно вообще как работает это все?
А вот $value1, $value2, $value3 — это php переменные, которые появились в сниппете, в результате каких то действий.
$modx->setPlaceholders(array('name1' => $value1, 'name2' => $value2, 'name3' => $value3));
Где name1, name2, name3 — то, что будет доступно в чанке [[+name1]], [[+name2]], [[+name3]]А вот $value1, $value2, $value3 — это php переменные, которые появились в сниппете, в результате каких то действий.
просто попробовал плейсхолдер как текст передать, оно не работает
спасибо.
спасибо.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.