Refinery CMS中的菜单

时间:2012-02-15 15:40:48

标签: ruby-on-rails ruby menu refinerycms

很抱歉,但是我新推出了一款新的。好吧,我创建了一个应用程序,我开始编辑前端页面

在Refinery指南中告诉我编辑application.html.erb。然后我开始编辑如下:

<!DOCTYPE html>
<html>
<head>
  <title>A3 Soccer</title>
  <%= stylesheet_link_tag :all %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>


<div id="page_container">
      <header>
        <h1 id='logo'>
  <a href="http://localhost:3000/"><img src="images/logo.png" /></a>
</h1>
<nav id='menu' class='menu clearfix'>
  <ul>
    <li class='selected first' id='item_0'>
  <a href="/">Home</a></li>
<li class='last' id='item_1'>
  <a href="/about">About</a></li>
  </ul>
</nav>

      </header>
      <section id='page'>
        <section id='body_content' class='no_body_content_right'>


<%= yield %>

 <div id="footer">
     <p>dsfdsfdsf</p>
      </div>



</body>
</html>

但是这部分菜单是静态的:

<nav id='menu' class='menu clearfix'>
  <ul>
    <li class='selected first' id='item_0'>
  <a href="/">Home</a></li>
<li class='last' id='item_1'>
  <a href="/about">About</a></li>
  </ul>
</nav>

如何保持动态?

我想:当我在管理员中创建一个页面时,该链接(页面)出现在我网站上的页面菜单中

3 个答案:

答案 0 :(得分:1)

你确定它还没有动态吗?创建另一个页面,看它是否显示在导航中。我在大约6个月内没有使用Refinery,但默认情况下导航始终是动态的。

答案 1 :(得分:0)

在炼油厂,您通常不希望覆盖 application.html.erb ,因为它通常会照顾您需要的所有功能。

您可以在此处查看文件正在执行的操作: https://github.com/resolve/refinerycms/blob/master/core/app/views/layouts/application.html.erb#L1

此文件对其他部分进行了大量调用,这些部分引入了每个区域所需的内容。例如,标题的部分名为_header.html.erb,如下所示:

https://github.com/resolve/refinerycms/blob/master/core/app/views/refinery/_header.html.erb#L1

再次在这里调用另一个局部来渲染菜单 - 这是动态的。

我强烈建议不要覆盖这些文件,因为这些文件通常会默认执行您需要的所有操作,但是如果您需要覆盖它们,则可以运行命令:

bundle exec rake refinery:覆盖视图= refinery / _header

(您可以运行简单的rake refinery:覆盖以查看示例以及此功能如何工作的其他选项)

答案 2 :(得分:0)

尝试添加

<%= render(:partial => "/refinery/menu", :locals => {
         :dom_id => 'menu',
         :css => 'menu'
       }) %>

到你的档案。

https://github.com/resolve/refinerycms/blob/master/core/app/views/refinery/_header.html.erb