数据库布局更新是否仍在Magento中使用?

时间:2011-01-07 23:28:47

标签: php xml magento

在Magento Layout系统的深处,有以下代码用于将包布局xml文件转换为创建块所需的特定XML,从而创建页面

public function merge($handle)
{
    $packageUpdatesStatus = $this->fetchPackageLayoutUpdates($handle);
    if (Mage::app()->isInstalled()) {
        $this->fetchDbLayoutUpdates($handle);
    }
}

那里的第二个方法fetchDbLayoutUpdates尝试使用SQL查询从数据库加载其他XML更新

SELECT `update`.`xml` FROM `core_layout_update` AS `update`
INNER JOIN `core_layout_link` AS `link` 
    ON link.layout_update_id=update.layout_update_id 
WHERE (link.store_id IN (0, '1')) 
    AND (link.area='frontend') 
    AND (link.package='default') 
    AND (link.theme='default') 
    AND (update.handle = 'default') 
ORDER BY `update`.`sort_order` ASC'

默认安装中core_layout_updatecore_layout_link表都为空。

所以,我一直认为这是一个早在Magento之前的遗留功能。有谁知道这个功能是否在任何地方使用

  1. Magento核心代码库

  2. 任何众所周知/突出的扩展

  3. 您!

  4. 我可以看到为什么这个功能已经存在(遗留问题和什么不存在),但我很好奇它是否被正式放弃了,或者它是否被广泛利用。

2 个答案:

答案 0 :(得分:5)

我有cms_index_index的一些条目添加了enterprise_banner块。因此它至少被企业版使用。

答案 1 :(得分:4)

core_layout_update与小部件实例相关,似乎core_layout_update具有从CMS添加的每个小部件实例的行 - >小部件