当查询参数存在时,Magento静态块在主页上消失


Magento static blocks disappear on homepage when query parameters present

我对Magento很陌生,我试图了解我们一个客户(http://www.coveops.com(主页上的静态块有什么乐趣。当传递查询参数(如 ?utm_source...(时,静态块就会消失。

亲眼看看 http://www.coveops.com/?asdf 与 http://www.coveops.com/滑块和底部小腿之间的任何东西都消失了。

有很多事情可能导致这种情况。第一步是弄清楚内容是如何呈现的。

  1. 登录到您的Magento管理后端
  2. 转到系统>配置
  3. 滚动到底部,然后点击高级>开发人员
  4. 在左上角的下拉菜单中,选择正在主页上加载的商店视图
  5. 展开"调试"部分,取消选中"使用网站",并将"分析器"、"模板路径提示"和"向提示添加块名称"设置为"是
  6. ">

现在,当您重新加载 http://www.coveops.com(或者希望是您的开发服务器(时,您应该在每个块周围看到一个红色突出显示,显示有关该块如何呈现的信息。

一条信息是要呈现的模板文件的路径,例如:

frontend/base/default/template/page/html/breadcrumbs.phtml

您可以从应用程序/设计目录中找到该文件。

另一条可用的信息是调用模板文件的块的类名,例如:

Mage_Page_Block_Html_Breadcrumbs

这些类名遵循以下格式:

Namespace_Modulename_Block_Path_To_Blockname

因此,上面的例子可以在以下位置找到:

app/code/core/Mage/Page/Block/Html/Breadcrumbs.php

在文件系统中识别出块和模板后,您可以阅读代码并查找当 URL 中存在参数时块无法加载的原因。最有可能的是,asdf 被当作块中某个方法的参数,它导致该方法更改其输出,或者不输出任何内容。

另一个要查看的位置可能是您的管理后端,在 CMS->Pages->Manage Content 或 CMS->Static 块下。