Magento:版本升级后主页上的块没有显示?

时间:2015-10-30 07:49:22

标签: magento

我最近将我的Magento从1.9.0.1更新到1.9.2.2,更新后没有显示2个块。这是家庭CMS中的代码:

{{block type="catalog/navigation" name="catalog.category" template="catalog/category/cat_list.phtml"}}  

{{block type="filterproducts/latest_home_list" template="callthis/filterproducts/list.phtml"}}

知道更新后他们为什么不在那里?模板文件在那里,所以这不是原因。我调试了代码,它似乎没有进入模板文件,所以我猜这就是原因,但为什么不去呢?

谢谢!

2 个答案:

答案 0 :(得分:5)

1.9.2.2版本包含SUPEE-6788安全补丁,它修复了允许访问私人信息的漏洞。这意味着CMS页面和电子邮件中使用的块必须列入白名单 默认情况下,仅允许core/templatecatalog/product_new块类型。要使用其他(在您的情况下为catalog/navigationfilterproducts/latest_home_list),您必须将它们列入白名单 要做到这一点,您只需要将它们包含在permission_block表中。您可以通过直接将它们插入数据库中,或使用安装脚本来实现,如下所示:

<?php

/** @var $installer Mage_Core_Model_Resource_Setup */
$installer = $this;
$installer->startSetup();

$installer->getConnection()->insertMultiple(
    $installer->getTable('admin/permission_variable'),
    array(
        array('variable_name' => 'xml_path/custom/variable', 'is_allowed' => 1),
    )
);

$installer->getConnection()->insertMultiple(
    $installer->getTable('admin/permission_block'),
    array(
        array('block_name' => 'catalog/navigation', 'is_allowed' => 1),
        array('block_name' => 'filterproducts/latest_home_list', 'is_allowed' => 1)
    )
);

$installer->endSetup();

请注意,此设置的第一部分是允许自定义配置变量,您不需要它们来解决当前问题,我只是为了完整性而包含它。

您可以找到有关修补程序in magento's website

的更多信息

答案 1 :(得分:2)

这是由您的更新补丁之一引起的。

快速修复:

  • 在数据库中找到表permission_block
  • 添加catalog/navigationfilterproducts/latest_home_list的行,以允许显示这些块。
  • 清空缓存

此更新的更多文档: