Magento - 显示目录上方的特定制造商信息

时间:2013-01-01 12:49:51

标签: php magento

我正在将Magento 1.7用于网上商店,我想在目录上方显示一些特定的静态块。因此,当客户转到菜单并单击例如类别A并在点击制造商B之后,目录产品列表上方应该有一个文本块,其中包含制造商特定信息。当他们点击制造商C时,应该有其他文本,然后是制造商B.

我认为最简单的方法是为所有制造商制作静态块,并制作PHP脚本。那可能吗?或者我可以用另一种方式做到这一点吗?

提前谢谢!

亲切的问候,

让保

2 个答案:

答案 0 :(得分:0)

如果您想自己动手,可以实现观察者,检查分层导航中应用了哪些过滤器,并将块添加到content块。

然后,您的块将实现您想要为制造商显示不同信息的任何逻辑。

无论分层类别的FullActionName是什么,我都会尝试controller_action_layout_generate_blocks_aftercontroller_action_layout_render_beforecontroller_action_layout_render_before_'.$this->getFullActionName(): - )

关于观察者,您可以在英寸处找到事物:http://inchoo.net/category/ecommerce/magento/events-observers/

为了获得选择制造商的信息,我认为有两种方法:

  1. 从get Mage::app()->getRequest()->getParam()获取信息
  2. 获取布局,然后$layout->getBlock('catalog.leftnav')并以某种方式从块中提取信息
  3. 之后你可以添加你的块。

    阅读本文后:Magento: Add content block at the end of the structual block "content"

    我建议引入自己的更新句柄(因为我不知道,如何将块添加到content的开头)。使用您自己的句柄,您可以使用before="-"

    如下所述: http://www.classyllama.com/magento/add-custom-layout-handles-e-g-parent-categories

    您可以通过$layout->getUpdate()->addHandle('manufacturer_informations');

    添加句柄

    我会在观察者中尝试这样的事情:

    if($category = Mage::registry('current_category')) {
        if($category->getName() == 'MyBrand') { // ot maybe $category->getId() == ...
            //instantiate some $block
        }
    
        $layout->getBlock('content')->insert($block, 'brand-information');
    }
    

答案 1 :(得分:0)

这是免费扩展名单。只需下载它们,您就可以根据需要更改/升级编辑它。

  1. Shop By Brand / Manufacturer
  2. Brand Manufacturer Management
  3. Manufacturer Brand Logo
  4. 我希望你能得到这个想法,我认为当你有什么可以开始的时候很容易理解。