获取Magento页脚部分的类别信息,缓存打开


Get category info in Magento footer section with cache on

我打开Magento块缓存和FPC时遇到问题。我试图在页脚中输出一些类别信息,但该块似乎无法获得正确的类别信息。当我将相同的内容输出到categories的view.phtml文件中时,它可以很好地工作,但在页脚中,缓存将无法识别不同的类别,并无法从首次访问的类别页面输出。

我试着用(内存中的语法,可能不准确)获取类别信息:

  • Magento::注册表("当前类别")
  • 将块类型更改为category_view,并使用与管道列表相同的方法,使用$this->getCurrentCategory()-getId()
  • 检查类别列表的块代码如何加载数据,使用请求ID并从头开始加载类别对象

所有这些方法都失败了,基本上会显示错误的类别ID和信息,除了我访问的第一个。

块不是模块的一部分,只是local.xml中包含的一个phtml文件,但在我的尝试中,我也尝试过制作一个基本模块并在块文件中进行。

块输出似乎是基于XML块名称的全局输出,而不是绑定到FPC视图中?此外,我不确定产品列表块是如何获得正确的类别数据的,但在页面的任何其他部分,这似乎几乎是不可能的?

我是不是被迫尝试用打孔来解决这个问题?因为我也试过。没用,或者可能我以前从未做过打孔,所以没有让它发挥作用。。

问题是,我实际上希望这个块被缓存,只是不是以全局的方式,而是基于我所属的类别。有什么建议或见解可以帮助我解决这个问题,以及为什么解决这个问题?

我也许可以在产品列表部分输出我想要的信息,并用js将其向下移动,但我非常希望不要像你想象的那样。

我也遇到了类似的问题。你这样称呼你的街区吗?

$this->getChildHtml('my_block');

这样称呼它:

 $this->getChildHtml('my_block',false);

"false"将禁用被调用块的缓存。我不得不在脑海中呼唤的一个街区做同样的事情,就像一个符咒。