Add root menu snippet

This commit is contained in:
Wen-Tien Chang committed 2009-05-22 15:16:22 +08:00
1 parent 32fdf99833
commit 62602940ed
6 files changed
+23 -9

No files matched your search

@@ -26,6 +26,19 @@ class Admin::SnippetsController < ApplicationController
def new
@snippet = Snippet.new
if params[:menu]
@snippet.name = "#{params[:menu]}_nav"
lis = Page.find(:all, :conditions => { :parent_page_id => params[:menu], :is_published => true }, :order => "position" ).map do |page|
if page.external_link.blank?
"<li><a href='/#{page.name}'>#{page.name}</a></li>\n"
else
"<li><a href='#{page.external_link}'>#{page.name}</a></li>\n"
end
end
@snippet.content = "<ul>\n#{lis}</ul>"
end
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @snippets }
+5 -5
View File
@@ -3,15 +3,15 @@ class PagesController < ApplicationController
Liquid::Template.register_filter(SnippetFilter)
def show
@page = Page.find_by_name(params[:page_name])
@layout = @page.layout
@page = Page.find(:first, :conditions => { :name => params[:page_name], :is_published => true })
if @page && @page.external_link
redirect_to @page.external_link
elsif @page
@page_content = Liquid::Template.parse(@page.content).render
@layout_content = (@page.layout)? @layout.content : "{{page_content}}"
render :text => Liquid::Template.parse(@layout_content).render( 'page_content' => @page_content )
@layout = @page.layout
@page_content = Liquid::Template.parse(@page.content).render
@layout_content = (@page.layout)? @layout.content : "{{page_content}}"
render :text => Liquid::Template.parse(@layout_content).render( 'page_content' => @page_content )
else
render :text => '404 not found'
end