Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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在CMS.xml中定义自定义CMS页面_Xml_Magento_Content Management System - Fatal编程技术网

Magento在CMS.xml中定义自定义CMS页面

Magento在CMS.xml中定义自定义CMS页面,xml,magento,content-management-system,Xml,Magento,Content Management System,我在我的Magento管理面板中添加了几个页面(cms)。我知道我可以通过在内容字段中使用{{block..}}将块附加到特定页面 我不想在那里定义块,而是在cms.xml文件中定义。因此,其他商店管理员不会对后端编辑器中的奇怪代码({block..}})感到恼火 我使用以下xml标记定义了索引/主页: <cms_index_index> <reference name="content"> <block... /> </

我在我的Magento管理面板中添加了几个页面(cms)。我知道我可以通过在内容字段中使用{{block..}}将块附加到特定页面

我不想在那里定义块,而是在cms.xml文件中定义。因此,其他商店管理员不会对后端编辑器中的奇怪代码({block..}})感到恼火

我使用以下xml标记定义了索引/主页:

<cms_index_index>
    <reference name="content">
        <block... />
    </reference>
</cms_index_index>

如何在cms.xml中定义其他cms页面(通过id或seo标识符)

我试着定义他们

<cms_page_[seo-ident]>
<cms_pageid_[id]>
<cms_[seo-ident]>
<cms_[id]>

我不太熟悉CMS模块,但我可以告诉您如何为系统中的任何页面获取XML标记/句柄(CMS\u index\u index)

  • 从下载并安装(阅读教程可能也是一个好主意)

  • 使用添加的查询字符串加载CMS页面
    showLayout=handles

您现在应该看到一个“句柄”列表。句柄用于标识特定的请求。例如,cms_index_index是标识对itsindex控制器上的cms模块的index操作的请求的句柄。您应该在其他CMS页面上看到类似的句柄

如果这是可行的,请在评论中发布后续信息,我很好奇CMS句柄是如何形成的,还没有时间搜索它

更新:我在一个测试台上安装了Magento,这是我一直在做的。我在下面的URL上创建了一个简单的CMS页面

http://example.com/index.php/this-is-my-identifier
我得到了以下手柄

  • 违约
  • cms_页面
  • 存储默认值
  • 主题\前端\默认值\默认值
  • cms\u页面\u视图
  • 第1页第1列
  • 客户\u注销\u
  • 因此,基于此,看起来Magento并没有为每个CMS页面创建单独的句柄(我有点惊讶于您上面提到的CMS_index_index能够工作……这意味着可能发生了一些我不太理解的事情)


    因此,我将尝试在
    标记中定义块。这将使所有CMS页面都可以使用它们

    好吧,就布局而言,Magento并不容易处理。你可以检查我自己,即使它没有解释具体的块,我想它可能会帮助你了解自定义布局如何与CMS页面工作

    从那里开始,您可能会对流程有更清晰的了解


    我希望它能有所帮助。

    哇,艾伦·斯托姆不熟悉CMS模块,它肯定是一个非常古老的线程

    但当我在谷歌上搜索它时,它就在榜首了

    Matthias Zeis提供了一个很好的答案:


    基本上,我们的想法是观察事件
    cms\u page\u render
    ,然后定义我们自己的句柄。

    您愿意更新这个答案吗,还是不再值得?我很想看看你在这方面学到了什么。