2011-01-05 12 views
0

私は "Kategorie"という名前のテレビを持っていて、このテレビでグループ化された特定のリソース(27)の下にあるすべてのリソースのリストが必要です。何も特別なイホ。これは私のアプローチです:getResources - 指定されたリソースIDを持つスニペットが機能しません

<?php 
$resource_ids = $modx->getTree(27,1); # => 27 is the Container with the desired resources 
# We need the 'Kategorie'-TV of the resources 
$cat = $modx->getObject('modTemplateVar', array('name' => 'Kategorie')); 

# Map Resources to Category 
$resources_by_cat = array(); 
foreach ($resource_ids as $id) { 
    $resources_by_cat[$cat->getValue($id)][] = $id; 
} 

# Iterate over categories and output the resources 
foreach ($resources_by_cat as $cat => $ids) { 
    $joined_ids = join(",",$ids); # => eg "33,34,56" 
    print "<h2>".$cat."</h2>"; 
    print '<table class="references">'; 
    print ' 
    <tr> 
     <th class="title">Titel</th> 
     <th class="author">Von</th> 
    </tr> 
    '; 
    print $modx->runSnippet('getResources', array(
    "resources" => $joined_ids, 
    "includeTVs" => "1", 
    "tpl" => "referenceRow" 
)); 
    print '</table>'; 
} 
?> 

...私には正常に見えるが、私には、このエラーがスローされた:

[2011-01-05 12:26:24] (ERROR @ /index.php) Error 42000 executing statement: Array ([0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1,2,15,18,27,23,30,3,4,22,24,26,47,5,6,7,8,9,10,11,12,14,13,17,16,19,20,49,50,21' at line 1) 

誰もがここで何が起こっているか知っていますか?それとも、私の目標にもっと良いアプローチがありますか?

更新

最新のgetResourcesに更新されました。今私はそのエラーメッセージを取得しません。それでも動作しません。しかし、 "両親"オプションはどちらもうまくいきません。

答えて

1

代わりに$modx->getDocument($id)を使用しましたが、現在は期待どおりに動作します。

foreach($ids as $rid) { 
    $doc = $modx->getDocument($rid); 
    var_dump($doc); 
    // real output trimmed 
    } 
関連する問題