Парсинг Google таблиц
        Прошу помощи по снипету. Сделал вот такой костыль:
    
    
                                                                                
            <?php
$idx = $modx->getObject('modTemplateVar', array('name' => 'idtab'))->getValue($modx->resource->get('id'));
$gid = $modx->getObject('modTemplateVar', array('name' => 'gid'))->getValue($modx->resource->get('id'));
$range = $modx->getObject('modTemplateVar', array('name' => 'range'))->getValue($modx->resource->get('id'));
$csv = file_get_contents('https://docs.google.com/spreadsheets/d/'.$idx.'/export?format=csv&gid='.$gid.'&range='.$range);
$csv = explode("\r\n", $csv);
$array = array_map('str_getcsv',$csv);
$htm .= '<table class="table table-striped"><tbody>';
$i=0;
unset($array[0]);
if (is_array($array) || is_object($array))
{ foreach ($array as $arr){
$i++;
$htm .= '<tr>';
$htm .= '<td scope="row">'.$i.'</td>';
foreach ($arr as $td) {
$htm .= '<td scope="row">'. $td .'</td>';
 }
$htm .= '</tr>';
}
$htm .= '</tbody></table>';
}
echo $htm;Он работает и все устраивает. И все бы хорошо но мне нужно вызвать его на странице несколько раз. Подставить значение idtab, gid, range из нескольких ресурсов, т.е. на одном ресурсе вывести несколько листов google таблицы. И тут мои «познания» закончились. Попробовал сделать так:[[pdoResources?
            &parents=`0`
            &resources=`6,331,458,459,460`
            &tpl=`isp`
            &limit=`30`
        ]]где чанк isp имеет содержимое:<hr>
<h1>[[+pagetitle]]</h1>
[[Google-Shits?]]
<hr>Но он подтягивает одну таблицу 5 раз. Как это исправить?    Комментарии: 3
Как это исправить?Сделать idtab, gid, range параметрами сниппета. Тогда сниппет будет вызываться так
[[!Google-Shits?
&idtab=`value`
&gid=`value`
&range=`value`
]]Ну а сами параметры, я бы запихнул в migx.Вместо этого нужно оставить только параметры.
$idx = $modx->getObject('modTemplateVar', array('name' => 'idtab'))->getValue($modx->resource->get('id'));
$gid = $modx->getObject('modTemplateVar', array('name' => 'gid'))->getValue($modx->resource->get('id'));
$range = $modx->getObject('modTemplateVar', array('name' => 'range'))->getValue($modx->resource->get('id'));            
                Спасибо за ответ. Я не хотел использовать migx, но где моя ошибка понял            
                    
                Можно под каждую таблицу создать отдельное ТВ или по три ТВ, но по-моему лучше обойтись одним MIGX.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.