Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 从主题设置主页';s布局_Magento_Layout - Fatal编程技术网

Magento 从主题设置主页';s布局

Magento 从主题设置主页';s布局,magento,layout,Magento,Layout,我试图通过节点中主题的local.xml布局更新文件来设置CMS主页。我发誓,我见过在布局节点中临时更改存储配置的函数(但可能是我梦到的),但在类(如Mage\u Core\u Block\u Abstract及其子类)中找不到布局函数 为了便于参考,我在Mage\u Cms\u IndexController中进行了检查,找到了呈现主页的功能: public function indexAction($coreRoute = null) { $pageId = Mage::getSto

我试图通过
节点中主题的
local.xml
布局更新文件来设置CMS主页。我发誓,我见过在布局节点中临时更改存储配置的函数(但可能是我梦到的),但在类(如
Mage\u Core\u Block\u Abstract
及其子类)中找不到布局函数

为了便于参考,我在
Mage\u Cms\u IndexController
中进行了检查,找到了呈现主页的功能:

public function indexAction($coreRoute = null)
{
    $pageId = Mage::getStoreConfig(Mage_Cms_Helper_Page::XML_PATH_HOME_PAGE);
    if (!Mage::helper('cms/page')->renderPage($this, $pageId)) {
        $this->_forward('defaultIndex');
    }
}

或者,我这样做完全是错误的吗?对于这样的问题,什么是最佳实践?我不想为新主题添加商店视图,因为新主题适用于移动平台,并且需要商店视图中的相同设置。谢谢大家

这是不可能的。在检查是否存在指定的有效页面之前,不会调用布局配置;由于这些检查失败,默认路由器将匹配,并且(默认情况下)应用程序将显示404页面。

在系统>配置>Web>默认页面的标准方法中使用此方法的目的是什么?原因是据我所知,商店视图不能有多个“CMS主页”设置。我们有一个包含两个不同主题的单一商店视图,需要根据当前使用的主题设置主页。正如商店只有一个
web/default/cms\u主页
值一样,它只有一个主题。因此,我假设您要么以编程方式(包括通过设计更改)切换主题,要么手动切换主题,并希望自动切换内容。对的