2

我目前正在尝试从 gem 版本更新现有的 RefineryCMS 应用程序,以便我可以同时添加最新的引导程序 3。

gem "refinerycms", "~> 2.0.10" 

gem "refinerycms", "~> 2.1.0"

在删除过时的块并从站点的过去删除几个被覆盖的视图之后,我已经让站点成功地再次使用其当前数据库的内容运行。

现在 Refinery 已经切换到 Menu Presenter 以换取旧的部分。如何在新的 Menu Presenter 系统中添加、删除和编辑所有元素的类?

我想控制周围的 div 到最内部的 <"li"> 和 <"a"> 子元素。

我一直在看http://refinerycms.com/guides/menu-presenter指南。我认为我将本指南理解为一种将二级菜单添加到页脚声明页面的页脚的方法。因此,只有不在顶部现有菜单中的特定页面才会填充示例中说明的菜单。

对于我缺乏理解,我深表歉意,但我很难用这个例子来回答我上面关于炼油厂初始主菜单类的问题。

4

1 回答 1

2

不完全确定您要达到的目标,但我认为答案都在 Menu_Presenter 的来源中: https ://github.com/refinery/refinerycms/blob/master/pages/app/presenters/refinery/pages/ menu_presenter.rb

您应该能够在演示者上设置属性,然后呈现菜单:

presenter = Refinery::Pages::MenuPresenter.new(menu_items, self)
presenter.first_css = "my_first_item_class"
presenter.last_css = "my_last_item_class"
presenter

要设置链接(元素)的样式,只需在 MenuPresenter 上设置“link_tag_css”。

如果您尝试使用 Bootstrap 的嵌套下拉菜单做一些事情,那可能会变得更复杂一些。麻烦,你可能知道;如果您想要下拉菜单,则使用 Bootstrap 需要将数据属性插入各种链接元素。

这篇文章:Rails Bootstrap Navbar and refineryCMS 提供了一种重写 MenuPresenter 的方法,但我还没有完全阅读和理解代码,它需要一些调整。对我来说没问题,尽管我确信有更优雅的方法来实现漂亮的嵌套菜单。

于 2013-11-20T00:59:31.853 回答