我对 MODX 还很陌生,并且一直在研究与 MODX 对话的接口。现在我得到以下查询:
[[!getCache?
&element=`getResources`
&cacheExpires=`9000`
&parents=`679,663,641,799,590`
&depth=`0`
&tpl=`related-article-in-page-listing`
&limit=`6`
&includeTVs=`0`
&includeContent=`0`
&showHidden=`1`
&tvFilters=`Related Artist==[[*Related Artist]]`
&toPlaceholder=`new`
&resources=`-[[*id]]`
]]
我想翻译成一个片段,这样我就可以通过 runSnippet() 方法使用 API 调用它。
我已经做到了这一点:
<?php
$output = '';
$id = !empty($id) ? $id : 0;
$modx= new modX();
$modx->initialize('mgr');
$query = $modx->newQuery('modResource');
$query->where(array(
'parent' => 679,
'published' => 1,
'Related Artists.value:=' => 603 // this will be replaced with $id when I get it to work...
));
$query->limit(5);
$titles = $modx->getCollection('modResource',$query);
foreach ($titles as $k) {
$output.= '<li>'.$k->get('pagetitle').'</li>'; // let's just get the titles first
}
return '<ul>'.$output.'</ul>';
这不会返回任何东西,我想我只是不清楚上述查询在 MySQL 术语中实际调用的内容。据我所知,它会查找以 679,663,641,799 或 590 为父项的条目,而电视 [[*Related Artist]] 会查找可能称为“相关艺术家”的飞行物以进行精确匹配?!
任何帮助在这里表示感谢,因为我已经与这本书和在线帮助争论了几天;)谢谢