【问题标题】:Change Magento Category Layout更改 Magento 类别布局
【发布时间】:2013-09-09 15:50:44
【问题描述】:

我需要以编程方式更新 Magento 中数千个类别的页面布局 + 随机化产品订单。这是一段代码:

        /* @var $_childColorCategory Mage_Catalog_Model_Category */
        $_childColorCategory = Mage::getModel('catalog/category')->load($_childColorId);

        /* positions rand */
        $_positions = $_childColorCategory->getProductsPosition();
        if (count($_positions) > 1) {
            $_order = range(1, count($_positions));
            shuffle(&$_order);
            $_newPositions = array_combine(array_keys($_positions), $_order);
            $_childColorCategory->setPostedProducts($_newPositions);
        }

        $_childColorCategory
                ->setPageLayout('two_columns_right')
                ->save();

当然是循环等。

问题是布局没有被更新(嵌套产品的顺序改变得很好):我在仪表板中看到所有受影响的类别都有正确的('two_columns_right')布局,但在手动点击保存按钮之前它实际上并没有在前端工作在管理员中。如果我单击按钮(不进行任何更改),那么布局实际上就在前端,而且 - 对该类别的任何进一步的编程布局更改都很好。有任何想法吗?谢谢

附: 这不是 100% 的缓存问题。 Magento 已更新到 1.7 - 不走运。 多商店设置(4 个网站)。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    在 magento 中,所有布局更改都在 xml 文件中,更多信息在 http://www.magentocommerce.com/design_guide/articles/intro-to-layouts

    对于类别布局,您可以在此处找到答案 http://www.magentocommerce.com/boards/viewthread/16838/

    但是显示随机产品是一个非常糟糕的主意,因为 magento 会很慢。

    【讨论】:

    • 为什么它一定很慢?我当然知道 magento 中的布局是如何工作的,但我不需要更改所有类别
    猜你喜欢
    • 2015-01-16
    • 2015-05-24
    • 2012-07-03
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 2012-07-22
    相关资源
    最近更新 更多