我再也无法通过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)选择modResourceidmodResourcetypemodResourcecontentType
  modResourcepagetitlemodResourcelongtitle
  modResourcedescriptionmodResourcealias
  modResourcelink_attributesmodResourcepublished
  modResourcepub_datemodResourceunpub_date
  modResourceparentmodResourceisfolder
  modResourceintrotextmodResourcerichtext
  modResourcetemplatemodResourcemenuindex
  modResourcesearchablemodResourcecacheable
  modResourcecreatedbymodResourcecreatedon
  modResourceeditedbymodResourceeditedon
  modResourcedeletedmodResourcedeletedon
  modResourcedeletedbymodResourcepublishedon
  modResourcepublishedbymodResourcemenutitle
  modResourcedonthitmodResourceprivateweb
  modResourceprivatemgrmodResourcecontent_dispo
  modResourcehidemenumodResourceclass_key
  modResourcecontext_keymodResourcecontent_type
  modResourceurimodResourceuri_override
  modResourcehide_children_in_treemodResourceshow_in_tree
  modResourceproperties来自modx_site_content AS modResource
  在哪里(modResource.parent IN(33,34,35,36)和
  modResourcedeleted = 0 AND modResourcepublished = 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移到“块”中后,该代码段又开始工作。

某种输出会有所帮助。

希望这可以帮助某人。

09-29 21:03