2011-12-16 1 views
1

У меня есть этот фрагмент кода:MODx GetResources Foreach

<?php 
$list = $modx->runSnippet('getResources', array(
'parents'=>'16', 
'depth'=>'1', 
'includeContent'=>'1', 
'limit'=>'1' 
)); 

$output = explode(',', $list); 
//print_r($list); 

foreach($output as $i) { 
    //echo $i; 
    foreach($i as $key => $value) { 
    echo $key.' : '.$value.'<br />'; 
    } 
} 

С print_r я могу увидеть массив ;-)

Но с помощью петли Еогеасп ... ничего печать!

Спасибо за вашу помощь ...

ответ

2

Проблема может быть, что вы звоните «взрываются» в массиве, когда он должен принимать строку.

Не уверен, что именно то, что ваш $ список массив выглядит, но, возможно, попробовать это вместо:

foreach ($list as $i) { 
    foreach ($i as $key => $value) { 
    echo $key.' : '.$value.'<br />'; 
    } 
} 

EDIT испытал это и $ список не является массивом, но предварительно отформатированный строка предназначена для отладка:

<pre>Array 
    (
    [tpl] => 
    [tplOdd] => 
    [tplFirst] => 
... 
</pre> 

Я не уверен, что именно вы хотите достичь, но это, как правило, лучше использовать TPL параметр в формате приводит нас с куском.

getResources предназначен для перечисления ресурсов для отображения на передней панели и обычно не используется для извлечения необработанных данных.

+0

Спасибо за ваш ответ, но я уже пробовал и не работает – Chris

+0

Итак, когда вы делаете print_r on $ list, что вы видите? Отправьте его здесь ... – okyanet

+0

См. Редактирование моего ответа выше, $ list - это не массив – okyanet