我再也无法使用 getResource 获得结果。
例如,我想查询我的博客文章:我的文章是使用文章插件创建的。
在我的模板中,我有:
[[!getResources:ifempty=`No Resource`? &parents=`33` &showHidden=`1` ]]
它只是显示“无资源”。如果没有 ifempty 标签,它根本不会显示任何内容。
奇怪的是我知道我的数据库中有这些文章。当我尝试使用参数debug=true
时,我看到文章对象的转储代替了模板。所以查询工作正常,当 debug 设置为 true 时,getResource 会检索文章!
通过调试,我可以在我的日志文件中看到 SQL 查询:
[2014-02-10 16:58:37](错误@/huayang/index.php)33 的上下文是 web [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
从 哪里(modResource.parent IN (33,34,35,36) ANDmodx_site_content
. = 0 AND . = 1 ) ORDER BY 发布于 DESC LIMIT 5modResource
modResource
deleted
modResource
published
当我直接在 phpmyadmin 中运行这个查询时,我得到了文章!
需要明确的是,如果 debug 未设置为 true,无论我尝试进行何种查询,getResource 都将无法正常工作。它不会在任何时候显示我的任何错误..
我已经卸载并重新安装了插件。
所以..知道我该如何解决这个问题吗?有什么建议我应该如何继续调试吗?
编辑:getresources-1.6.1-pl
编辑2:
开始调试,snippet.getresources.php,430行
$collection = $modx->getCollection('modResource', $criteria, $dbCacheFlag);
$collection 是一个空数组.. $criteria 是一个看起来正确的 xPDOQuery_mysql 对象..
如果我不能解决这个问题,我会通过这个睡觉,明天将重新安装 ModX