Magento:如何通过代码更改目录产品布局视图?

时间:2013-11-30 09:44:51

标签: magento

我的目录产品使用3列布局。右侧的分层导航中心的产品左侧的购物车。我的问题,当我没有类别中的产品时,右栏是空的。我希望当我的类别是空的ma目录产品从3列变换到2列。我可以通过代码来做到这一点吗?

2 个答案:

答案 0 :(得分:0)

使用以下代码:

$product->setPageLayout('two_columns_right'); // two_columns_left或one_column

答案 1 :(得分:0)

您可以编写自己的模块(我将其命名为“ProductTemplate”)您可以使用某个事件:

<frontend>
    <events>
        <catalog_product_load_before>
            <observers>
                <yournamespace_producttemplate>
                    <type>singleton</type>
                    <class>yournamespace_producttemplate/observer</class>
                    <method>catalogProductLoadBefore</method>
                </yournamespace_producttemplate>
            </observers>
        </catalog_product_load_before>
    </events>
</frontend>

在观察者类中,您可以按照以下方式更新方法中的模板:

class Yournamespace_ProductTemplate_Model_Observer {

  public function catalogProductLoadBefore (Varien_Event_Observer $observer) {
    $product = $observer->getProduct();
    $product->setPageLayout('two_columns_left');
  }
}