在 Magento 中创建子 CMS 页面
我想在 Magento 中创建一组从属 CMS 页面,以便页面顶部的面包屑导航如下所示:
首页>父CMS页面>子CMS页面
即使我可以使用 URL key
字段指定层次关系,但似乎 Magento 中的所有 CMS 页面都列在根目录中默认目录:
首页>子CMS页面
有什么想法吗?
I would like to create a subordinate set of CMS pages in Magento so that the breadcrumb navigation at the top of the page looks like this:
Home > Parent CMS Page > Child CMS Page
Even though I can specify a hierarchical relationship with the URL key
field, it seems to be that all CMS pages in Magento are listed in the root directory by default:
Home > Child CMS Page
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
你是对的,Magento 中没有 CMS 页面的层次结构。最好的解决方案是通过向 CMS 页面添加parent_id 并修改 CMS 模块以处理嵌套 URL 和面包屑来创建真正的层次结构。但这需要大量编码。
一个快速而肮脏的技巧是通过在布局更新 XML 中添加如下内容来手动修改每个子页面上的面包屑:
You are right, there is no hierarchy of CMS pages in Magento. The best solution would be to create a real hierarchy by adding a parent_id to CMS pages and modifying the CMS module to handle nested URLs and breadcrumbs. But that requires a lot of coding.
A quick-and-dirty hack is to modify the breadcrumbs manually on each subpage by adding something like this to the layout update XML:
几天前,我在面包屑和 cms 页面上遇到了同样的问题检查此处 ->
与 Anders Rasmussen 帖子类似,我手动编辑了每个 cms 页面,
在 breadcrumbs.phtml 中,我添加了一些条件来定义页面是否为 CMS 页面(感谢 Alan Storm),并删除标准面包屑并通过 xmllayout 添加新面包屑。
xml:
希望有帮助,
里托
I had the same problem with breadcrumbs and cms pages a few days ago check here ->
Similar to Anders Rasmussen post I edited every cms page manually
In breadcrumbs.phtml I added a little condition to define if a Page is a CMS page (thanks to Alan Storm) and remove standard crumb(s) and added new crumbs via xmllayout.
xml:
hope that helps,
Rito
对于企业版(版本 1.12),请在以下文件中使用此代码,位置为:
默认->模板->页面->html->breadcrumb.phtml。
谢谢,
卡西夫
For enterprise (version 1.12) use this code at following file, location is:
default->template->page->html->breadcrumb.phtml.
Thanks,
Kashif
这是我的问题的解决方案。我对大多数 CMS 页面(default/template/page/cmsLayout.phtml)使用自定义布局,因此我在布局文件中添加了以下代码:
This is my solution of the problem. I use custom layout for most of the CMS pages (default/template/page/cmsLayout.phtml) so I heve added following code into the layout file:
更新
-oops- 这可能只是一个企业功能
Magento 中有一个内置的 CMS 页面层次结构选项。
打开它:
系统>配置>一般>内容管理> CMS 页面层次结构 - 请参阅此处
组织层次结构树:
CMS >页数>管理层次结构
要管理页面在树中的位置,保存页面后,转到其“层次结构选项卡” - 请参阅屏幕截图:
在示例中,页面“我们的文化”是“工作”的子目录,而不是根目录的子目录
update
-oops- this might be an enterprise feature only
There is a built-in CMS page hierarchy option in Magento.
To turn it on:
System > Configuration > General > Content Management > CMS Page Hierarchy - see here
To organise the hierarchy tree:
CMS > Pages > Manage Hierarchy
To manage the position of a page in the tree, after saving a page, go to its "hierarchy tab" - see the screenshot:
In the example the page "Our culture" is a child of "jobs" and not of the root directory
对于 Magento Enterprise,我创建了一个扩展来解决这个问题。它在后端使用内置的 CMS 层次结构。该模块称为 Demac/BananaBread,不需要任何修改或定制。
直接下载:此处
文章链接:http://www.demacmedia .com/magento-commerce/introducing-demac_bananabread-adding-cms-breadcrumbs-from-the-hierarchy-in-magento/
For Magento Enterprise, I have created an extension to solve this. It uses the built in CMS Hierarchy in the backend. The module is called Demac/BananaBread and shouldn't require any hacks or customization.
Direct download: here
Link to article: http://www.demacmedia.com/magento-commerce/introducing-demac_bananabread-adding-cms-breadcrumbs-from-the-hierarchy-in-magento/
我构建了一个自定义块来生成面包屑(删除内置块并替换为布局中下面的自定义块):
然后使用稍微修改过的 .phtml 模板来显示它们:
在 2.1 中对我来说工作得很好
I built a custom block as to generate the crumbs (removing the built-in and replacing with the custom one below in the layout):
Then used a slightly modified .phtml template to display them:
Working fine for me in 2.1