Вывод значений в tv список (одиночной выборки)

День добрый сообщество, есть вызов сниппета… выводит список Агентов вот наглядный пример… тут!
код вызова все работает ок!
[[!getImageList?
  &tvname=`agenti`
  &tpl=`agentiTpl`
  &docid=`[[+id]]`
  &limit=`6`
]]

А теперь моя головная боль сегодняшнего дня… необходимо через tv Список одиночной выборки выбрать нужного мне агента… для этого использую в возможных значениях такую штуку!..

@EVAL return $modx->runSnippet('getImageList',array('tvname'=>agenti, limit'=>6,'tpl'=>agentiTpl2,'docid'=>?, 'outputSeparator'=>'||'));
важен один момент, что параметр docid должен браться из родительского ресурса вот скрин для наглядности…



но даже если указываю в выборке 'docid'=>18 результата 0 хотя должно рубить…
версия modx 2.3.3
версия MIGx 2.9.0

подсобите пожалуйста, кто что знает…
Дмитрий Середюк
23 февраля 2015, 09:04
modx.pro
1
4 071
0

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

Павел Романов
23 февраля 2015, 14:56
0
Вы хотите вывести в новом TV в виде списка те позиции, которые есть в TV «agenti» у 18-го ресурса?
Если да, то это должно работать:
@EVAL return $modx->runSnippet('getImageList',array('tvname'=>'agenti','limit'=>6,'tpl'=>'agentiTpl2','outputSeparator'=>'||','docid'=>18));
Что у Вас в чанке agentiTpl2?
    Дмитрий Середюк
    23 февраля 2015, 15:30
    0
    В чанке agentiTpl2 вывод инфы об агаенте

    <img  src="[[+image]]" title="[[+name]]" style="width: 100px; height: 100px; float:left; border: 2px solid #ccc; margin-right: 15px;padding: 4px;">
        
        <strong class="fontS16">[[+name]]</strong> 
        <span class="fontS20" style="color:#618799">[[+phone]]</span>

    в 'docid' должен быть id ресурса родителя, что вписать я не знаю… но в самом сниппете getImageList изменяю строку
    $docid = $modx->getOption('docid', $scriptProperties, (isset($modx->resource) ? $modx->resource->get('id') : 1));

    на

    $docid = $modx->getOption('docid', $scriptProperties, (isset($modx->resource) ? $modx->resource->get('parent') : 1));

    при этом в tv вызов без 'docid'.
    подскажите заранее благодарен.

    @EVAL return $modx->runSnippet('getImageList',array('tvname'=>'agenti','limit'=>6,'tpl'=>'agentiTpl2','outputSeparator'=>'||'));

    чертов костыль но работает как надо.., но лучше бы ничего не менять в самом сниппете и что то вписать в пареметр 'docid'
    мб есть идея, что вписать?
      Павел Романов
      23 февраля 2015, 16:10
      1
      0
      А если сделать так:
      @EVAL $parent = $modx->resource->get('parent'); $output = $modx->runSnippet('getImageList',array('tvname'=>'agenti','limit'=>6,'tpl'=>'agentiTpl2','outputSeparator'=>'||','docid'=>$parent)); return $output;
        Дмитрий Середюк
        23 февраля 2015, 16:38
        0
        спасибо большое работает, я пытался сделать подругому через доп сниппет:

        @EVAL return $modx->runSnippet('parentid');
        код сниппета parentid
        <?php
        $parentagent= $modx->getParentIds(id);
        $agentlist = $modx->runSnippet('getImageList',array('tvname'=>'agenti','limit'=>6,'tpl'=>'agentiTpl2','outputSeparator'=>'||','docid'=>'$parentagent'));
        return $agentlist;
        но нефига не пахало, в php я Вася)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4