2009-09-09 91 views
3

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

我不想在那里定义块,但在cms.xml文件中。所以其他商店管理员不会被后端编辑器中的奇怪代码({{block ..}})所困扰。

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

我如何定义cms.xml内其他CMS页面(通过ID或SEO标识符):

我用下面的XML标记定义的索引/主页?

我试着定义它们;

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

回答

4

我不是超级熟悉的CMS模块,但我可以告诉你如何获得任何页面的XML标签/手柄(cms_index_index)在您的系统。

装入CMS页面

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

如果此作品在评论中发布后续内容,我很好奇CMS手柄是如何形成的,还没有时间来搜索它。

更新:我已经完成了Magento的测试平台安装,我已经踢过了。我创建可用一个简单的CMS上,在以下网址

http://example.com/index.php/this-is-my-identifier 

而且我得到了下面的把手

  1. 默认
  2. cms_page
  3. STORE_default
  4. THEME_frontend_default_default
  5. cms_page_view
  6. page_one_c olumn
  7. customer_logged_out

所以,在此基础上,它看起来像的Magento不会为每个CMS页面的个人手柄(我有点惊讶你上面提到的cms_index_index工程...这意味着有可能是我不明白的事情)。

因此,我想要做的是在<cms_page><cms_page_view>标签中定义您的块。这应该使他们可以到全部您的CMS页面。

+0

你愿意更新这个答案或不再值得吗?我希望看到你在这方面学到了什么。 – 2016-12-15 09:20:25

1

那么,Magento在布局方面不太容易处理。您可以查看我自己的this blog entry,即使它没有具体解释块,我认为它可以帮助您了解自定义布局如何与CMS页面配合使用。

从那里开始,您可能会更清楚地了解该过程。

我希望它有帮助。