передать параметры чанку

добрый вечер, Василий

шаблону «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;
	/* ... */
}
Владимир
13 июля 2015, 17:33
modx.pro
3 109
-1

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

Владимир
13 июля 2015, 20:48
0
вообще мне нужно вот так:

/* .. */
case 'resultFabricator':
        $params['where']='{"fabricator":"'.$oppValue.'"}';
        $params['tpl']='pdoResourcesSel?&param1="ddd"';
       	$res = $modx->runSnippet('pdoResources', $params);
		break;
/* .. */
но так тоже не работает
на параметр ни сам чанк
чанк без параметра — работает

и так не работает:
$params['tpl']='{"pdoResourcesSel? &param1=`ddd`"}';
    Воеводский Михаил
    13 июля 2015, 23:45
    0
    Так и не будет работать. В имени чанка указывается имя, а не конструкция для парсера.

    Найди 10 отличий:

    /* .. */
    case 'resultFabricator':
    	$modx->setPlaceholder('param1', 'ddd');
            $params['where']='{"fabricator":"'.$oppValue.'"}';
            $params['tpl']='pdoResourcesSel';
           	$res = $modx->runSnippet('pdoResources', $params);
    		break;
    /* .. */
      Владимир
      13 июля 2015, 23:52
      0
      а, спасибо
      я чё-то не подумал через — setPlaceholder

      сделал несколько разных чанков пока ждал ответа
      попробую в один теперь свети как хотел изначально
        Владимир
        14 июля 2015, 00:12
        0
        не получается

        чанк ДО
        <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 получать сразу в снипете?
          Николай
          14 июля 2015, 00:55
          0
          [[+tv.devicetype]] — от куда это взялось в сниппете? вам известно вообще как работает это все?
          $modx->setPlaceholders(array('name1' => $value1, 'name2' => $value2, 'name3' => $value3));
          Где name1, name2, name3 — то, что будет доступно в чанке [[+name1]], [[+name2]], [[+name3]]
          А вот $value1, $value2, $value3 — это php переменные, которые появились в сниппете, в результате каких то действий.
            Владимир
            14 июля 2015, 01:03
            0
            просто попробовал плейсхолдер как текст передать, оно не работает

            спасибо.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6