我再也无法通过getResource得到结果。
例如,我要查询我的博客文章:
我的文章是使用Articles插件创建的。
在我的模板中,我有:
[[!getResources:ifempty=`No Resource`? &parents=`33` &showHidden=`1` ]]
它只是显示“无资源”。
没有ifempty标记,它将根本不显示任何内容。
奇怪的是,我知道我的数据库中有那些文章。当我尝试使用参数
debug=true
时,我看到文章对象的转储代替了模板。因此查询工作正常,当debug设置为true时,getResource检索文章!使用debug,我可以在日志文件中看到SQL查询:
[2014-02-10 16:58:37](ERROR @ /huayang/index.php)上下文为33是
网络
[2014-02-10 16:58:37](错误@ /huayang/index.php)选择
modResource
。id
,modResource
。type
,modResource
。contentType
,modResource
。pagetitle
,modResource
。longtitle
,modResource
。description
,modResource
。alias
,modResource
。link_attributes
,modResource
。published
,modResource
。pub_date
,modResource
。unpub_date
,modResource
。parent
,modResource
。isfolder
,modResource
。introtext
,modResource
。richtext
,modResource
。template
,modResource
。menuindex
,modResource
。searchable
,modResource
。cacheable
,modResource
。createdby
,modResource
。createdon
,modResource
。editedby
,modResource
。editedon
,modResource
。deleted
,modResource
。deletedon
,modResource
。deletedby
,modResource
。publishedon
,modResource
。publishedby
,modResource
。menutitle
,modResource
。donthit
,modResource
。privateweb
,modResource
。privatemgr
,modResource
。content_dispo
,modResource
。hidemenu
,modResource
。class_key
,modResource
。context_key
,modResource
。content_type
,modResource
。uri
,modResource
。uri_override
,modResource
。hide_children_in_tree
,modResource
。show_in_tree
,modResource
。properties
来自modx_site_content
AS modResource
在哪里(modResource.parent IN(33,34,35,36)和
modResource
。deleted
= 0 AND modResource
。published
= 1)顺序由DESC LIMIT 5发布
当我直接在phpmyadmin中运行此查询时,会收到文章!
需要明确的是,如果未将debug设置为true,则getResource根本无法执行我尝试进行的任何查询。它不会在任何时候显示我的任何错误。
我已经卸载并重新安装了插件。
所以..知道如何解决这个问题?有什么建议我应该如何进行调试?
编辑:getresources-1.6.1-pl
编辑2:
开始调试,snippet.getresources.php,第430行
$collection = $modx->getCollection('modResource', $criteria, $dbCacheFlag);
$ collection是一个empt数组。
$ criteria是一个看起来正确的xPDOQuery_mysql对象。
我要解决这个问题,如果无法解决,明天将重新安装ModX
最佳答案
问题是我的模板位于“模板”而不是“块”中,当我将articlePreview移到“块”中后,该代码段又开始工作。
某种输出会有所帮助。
希望这可以帮助某人。