数据库布局更新是否仍在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_update
和core_layout_link
表是在默认安装空从数据库中加载额外的XML更新。
所以,我一直认为这是一个遗留功能,早于我与Magento的时间。有谁知道这个功能是通过
-
任何地方使用
Magento的核心代码库
任何众所周知/凸显扩展
您!
我可以看到为什么要素的到位被留下(遗留问题和什么不可以),但我很好奇,如果它的东西,这就是被正式上下的抛弃,或者如果它只是远远下使用。
答
我有一些条目cms_index_index
,增加了一个enterprise_banner
块。所以它至少被企业版使用。
答
core_layout_update与小部件实例相关的,它似乎已经core_layout_update为行从CMS-每添加小部件实例>小工具
有趣的线索,为什么它可能是有用的,而不是XML文件的任何想法?这是否意味着数据库布局条目会覆盖基于文件的条目? – 2011-01-09 04:47:43
@Jonathan:不,数据库只是添加额外的句柄指令。手柄不会覆盖,它们只是按顺序应用。 – 2011-01-09 10:04:16