好的 - 首先是简单的细节:
Feed网址:http://feeds.wired.com/wired/index
当我通过simplepie而不是CraftCMS直接访问时,Feed会毫无问题地加载。当我通过CMS模板系统访问它时,它会抛出一个错误,指出返回的XML实际上是垃圾。考虑到这一点,因为Feed主机正在返回未找到的页面。
我已经挖掘了代码,找出为什么它是在有效网址上找不到的网页,并在文件中找到:
/library/simplepie/registry.php
public function &create($type, $parameters = array()) (around line 160)
现在在这个函数中,我看到创建了一个新的反射类,并向参数发送了新的InstanceArgs。此时,Feed网址将从以下更改:
http://feeds.wired.com/wired/index
到
http://feeds.wired.com/wired/index?#
有效地,此末尾添加了?#
的新网址会导致Feed网站返回未找到的网页。因此我所有的错误......
这已经开始结束我的能力 - 我想知道是什么导致了?#被添加,如果有办法防止它?或者我的问题的任何其他可能的解决方案。
答案 0 :(得分:1)
我无法解释为什么它在Craft之外工作而不在内部,但它对我来说肯定看起来像一个SimplePie错误。
刚刚创建了一个问题并通过针对它们的修复程序提取请求(https://github.com/simplepie/simplepie/issues/366),并且会看到有关在Craft中更新它的信息。
更新:看起来我的修复没有打破他们的一些测试,所以我们不会把它放到Craft,但他们已经承认它需要修复。