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

问题描述:

在Magento的布局系统深处,还有这是我们用来把你的包布局的XML文件转换成以创建块所需的特定XML,因此建立网页下面的代码数据库布局更新是否仍在Magento中使用?

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

第二种方法有fetchDbLayoutUpdates尝试使用SQL查询像这样

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表是在默认安装空从数据库中加载额外的XML更新。

所以,我一直认为这是一个遗留功能,早于我与Magento的时间。有谁知道这个功能是通过

    任何地方使用
  1. Magento的核心代码库

  2. 任何众所周知/凸显扩展

  3. 您!

我可以看到为什么要素的到位被留下(遗留问题和什么不可以),但我很好奇,如果它的东西,这就是被正式上下的抛弃,或者如果它只是远远下使用。

+0

有趣的线索,为什么它可能是有用的,而不是XML文件的任何想法?这是否意味着数据库布局条目会覆盖基于文件的条目? – 2011-01-09 04:47:43

+0

@Jonathan:不,数据库只是添加额外的句柄指令。手柄不会覆盖,它们只是按顺序应用。 – 2011-01-09 10:04:16

我有一些条目cms_index_index,增加了一个enterprise_banner块。所以它至少被企业版使用。

core_layout_update与小部件实例相关的,它似乎已经core_layout_update为行从CMS-每添加小部件实例>小工具