Как вывести API через чанк?

Всем привет. Столкнулся с проблемой при получения данных из API, данные выводятся через foreach(). Через var_dump() выводится всё как надо, но вот пытаюсь выводить это дело через $modx->getChunk() и у меня выводит только последний пункт из выборки. Вот код сниппета:

<?php
$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.PayPanel.rowTpl');
$plan = $modx->getOption('plan', $scriptProperties, 'vhost');
$host = $modx->getOption('paypanel_billmanager_url');
$format = $modx->getOption('paypanel_billmanager_format');
$login = $modx->getOption('paypanel_billmanager_login');
$password = $modx->getOption('paypanel_billmanager_password');

$url.= $host;
$url.= 'billmgr?out='.$format;
$url.= '&func=auth';
$url.= '&username='.$login;
$url.= '&password='.$password;

$json = file_get_contents($url);
$auth = json_decode($json);
$auth = (array)$auth->doc->auth;
$auth = $auth['$id'];

$api_url.= $host;
$api_url.= 'billmgr?auth='.$auth;
$api_url.= '&out='.$format;
$api_url.= '&func=pricelist.export';

$api_json = file_get_contents($api_url);
$api = json_decode($api_json);
$api = (array)$api->doc->pricelist;

foreach($api as $k => $v) {
    $group = (array)$v->itemtype_info->intname;
    $group = $group['$'];
    if($group == $plan) {
        $name = (array)$v->name;
        $name = $name['$'];
        $description = (array)$v->description_ru;
        $description = $description['$'];
        $addon = $v->addon;
        $price = (array)$v->price;
        unset($price['$currency']);
        
        foreach($price as $period => $p) {
            $p1 = (array)$p['0'];
            $cost1 = $p1['$cost'];
            $type1 = $p1['$type'];
            $length1 = $p1['$length'];
            $orderlink1 = $p1['$orderlink'];
            
            $p2 = (array)$p['1'];
            $cost2 = $p2['$cost'];
            $type2 = $p2['$type'];
            $length2 = $p2['$length'];
            $orderlink2 = $p2['$orderlink'];
            
            $p3 = (array)$p['2'];
            $cost3 = $p3['$cost'];
            $type3 = $p3['$type'];
            $length3 = $p3['$length'];
            $orderlink3 = $p3['$orderlink'];
            
            $p4 = (array)$p['3'];
            $cost4 = $p4['$cost'];
            $type4 = $p4['$type'];
            $length4 = $p4['$length'];
            $orderlink4 = $p4['$orderlink'];
            
            $modx->setPlaceholder('name', $name);
            $modx->setPlaceholder('description', $description);
            $modx->setPlaceholder('cost1', $cost1);
            $modx->setPlaceholder('type1', $type1);
            $modx->setPlaceholder('length1', $length1);
            $modx->setPlaceholder('orderlink1', $orderlink1);
            $modx->setPlaceholder('cost2', $cost2);
            $modx->setPlaceholder('type2', $type2);
            $modx->setPlaceholder('length2', $length2);
            $modx->setPlaceholder('orderlink2', $orderlink2);
            $modx->setPlaceholder('cost3', $cost3);
            $modx->setPlaceholder('type3', $type3);
            $modx->setPlaceholder('length3', $length3);
            $modx->setPlaceholder('orderlink3', $orderlink3);
            $modx->setPlaceholder('cost4', $cost4);
            $modx->setPlaceholder('type4', $type4);
            $modx->setPlaceholder('length4', $length4);
            $modx->setPlaceholder('orderlink4', $orderlink4);
            
            $output = $modx->getChunk($tpl);
        }
    }
}
return $output;


а это код чанка:

<div class="col-md-4">
    <div class="plan">
        <h3>[[+name]]</h3>
        <p>[[+description]]</p>
        <div class="row">
            <div class="col-md-4">
                от [[+cost1]] EUR
            </div>
            <div class="col-md-4">
                [[+length1]] мес.
            </div>
            <div class="col-md-4">
                <a href="[[+linkorder1]]" class="btn btn-primary">Заказать</a>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4">
                от [[+cost2]] EUR
            </div>
            <div class="col-md-4">
                [[+length2]] мес.
            </div>
            <div class="col-md-4">
                <a href="[[+linkorder2]]" class="btn btn-primary">Заказать</a>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4">
                от [[+cost3]] EUR
            </div>
            <div class="col-md-4">
                [[+length3]] мес.
            </div>
            <div class="col-md-4">
                <a href="[[+linkorder3]]" class="btn btn-primary">Заказать</a>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4">
                от [[+cost4]] EUR
            </div>
            <div class="col-md-4">
                [[+length4]] мес.
            </div>
            <div class="col-md-4">
                <a href="[[+linkorder4]]" class="btn btn-primary">Заказать</a>
            </div>
        </div>
    </div>
</div>
Подскажите в чём может быть проблема? Я уже пару часов бьюсь не могу понять почему выводит только последний результат из выборки(((
SEQUEL.ONE
09 мая 2018, 12:06
modx.pro
1
1 621
0

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

Илья Уткин
09 мая 2018, 15:42
+1
Попробуй так:
$output .= $modx->getChunk($tpl);

Нужно, чтобы в переменную данные дописывались. А у тебя она постоянно перезаписывается.
    SEQUEL.ONE
    09 мая 2018, 15:45
    0
    Огромное спасибо. Всё стало выводится)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2