【问题标题】:Magento static blocks disappear on homepage when query parameters present存在查询参数时,Magento 静态块在主页上消失
【发布时间】:2013-09-24 16:00:12
【问题描述】:

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

您自己看看http://www.coveops.com/?asdfhttp://www.coveops.com/ 之间的滑块和底部三联体之间的任何东西都消失了。

【问题讨论】:

  • 首页的静态块怎么调用?能贴一下代码吗?
  • 我正在深入研究主题,但似乎找不到它的定义位置。
  • 从管理员打开模板路径提示并检查您的块从哪个页面出现在主页上。之后,您可以检查为什么它没有在通过 url 传递查询参数后出现。

标签: php magento static-block


【解决方案1】:

造成这种情况的原因有很多。第一步是弄清楚内容是如何呈现的。

  1. 登录您的 Magento 管理后台
  2. 进入系统->配置
  3. 滚动到底部并点击高级->开发者
  4. 在左上角的下拉菜单中,选择您主页上正在加载的商店视图
  5. 展开“Debug”部分,取消选中“Use Website”,并将“Profiler”、“Template Path Hints”和“Add Block Names to Hints”设置为“是”

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

一条信息是正在渲染的模板文件的路径,例如:

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

您可以在 app/design 目录中找到该文件。

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

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 Blocks 下。

【讨论】:

    猜你喜欢
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 2016-07-19
    相关资源
    最近更新 更多