如何在前端Rails上显示Refinery管理页面站点地图

时间:2014-06-12 00:16:53

标签: ruby-on-rails ruby refinerycms

我想在前端显示Refinery Admin页面层次结构作为我的用户的站点地图, 我是RefineryCMS的新手,请你指出正确的方向吗?我已附加图片,该图片位于 refinery / Admin 部分,我想将其添加到我的网站上供访问者使用,您可以想象我有一个控制器 site_maps 和操作索引,我想在app / views / site_maps / index.html.erb页面下显示该站点地图。希望它有意义。感谢。

enter image description here

2 个答案:

答案 0 :(得分:2)

我是通过执行以下步骤实现的。

1:在控制器中(我的是site_maps.rb)

class SiteMapsController < ApplicationController

def index
@pages = Refinery::Page.where(parent_id:nil)
end
end

第二名:在index.html.erb中查看

<div class = "row">
<%@pages.live.each do |page|%>
   <% if page.show_in_menu%>
   <ul>
   <li>
      <%= link_to (page_title_with_translations page),     refinery.url_for((page.url_marketable)) %>
      <%if page.children.any?%>
           <%= render :partial => 'shared/page', locals: {:page_children => page} %>
      <%-end %>
   </li>
  </ul>
  <%end%>
<%end%>

</div>

第3名:在_page.html.erb

<% page_children.children.live.each do |children_page|%>
  <ul>
  <li>
    <%= link_to (page_title_with_translations children_page), refinery.url_for((children_page.url_marketable)) %>
    <%if children_page.children.any?%>
        <%= render :partial => 'shared/page', locals: {:page_children => children_page} %>
    <%-end %>
  </li>
</ul>
<%end%>

注意:如果没有此炼油厂功能 refinery.url_for ,您的链接可能会被检测为蜘蛛的搜索,并会出错!

答案 1 :(得分:0)

你的意思是主页吗? 然后:

mount Refinery::Core::Engine, :at => '/'