1.fix parent page 2.add page title
This commit is contained in:
		
							parent
							
								
									38e365e4b5
								
							
						
					
					
						commit
						9f1ba2ae66
					
				|  | @ -3,7 +3,7 @@ class Admin::PagesController < ApplicationController | |||
|   layout "admin" | ||||
|    | ||||
|   def index | ||||
|     @pages = Page.all( :conditions => { :parent_page_id => "root" } ) | ||||
|     @pages = Page.all( :conditions => { :parent_page_name => params[:parent] || "root" } ) | ||||
|   end | ||||
| 
 | ||||
|   def show | ||||
|  | @ -15,7 +15,7 @@ class Admin::PagesController < ApplicationController | |||
|   def new | ||||
|     @page = Page.new | ||||
|     @page.is_published = true | ||||
|     @page.parent_page_id = params[:parent_page_id] | ||||
|     @page.parent_page_name = params[:parent_page_name] | ||||
|   end | ||||
| 
 | ||||
|   def edit | ||||
|  | @ -27,7 +27,7 @@ class Admin::PagesController < ApplicationController | |||
| 
 | ||||
|     if @page.save | ||||
|       flash[:notice] = 'Page was successfully created.' | ||||
|       redirect_to admin_pages_url | ||||
|       redirect_to admin_pages_url( :parent_page_name => @page.parent_page_name ) | ||||
|     else | ||||
|      render :action => "new" | ||||
|     end | ||||
|  |  | |||
|  | @ -2,19 +2,21 @@ class Page | |||
|    include MongoMapper::Document | ||||
|    | ||||
|    key :name, String | ||||
|    key :parent_page_id, String | ||||
|    key :parent_page_name, String | ||||
|   | ||||
|    key_i18n :title, String | ||||
|    key_i18n :content, String | ||||
|      | ||||
|    key :layout_id, String | ||||
|    key :layout_name, String | ||||
|    key :use_engine, String | ||||
|    key :external_link, String | ||||
|    key :position, Integer | ||||
|    key :is_published, Boolean | ||||
|     | ||||
|    key :is_component, Boolean | ||||
|    key :component_name, String | ||||
|     | ||||
|    belongs_to :layout | ||||
|    has_many :children, :class_name => 'Page', :foreign_key => 'parent_page_id' | ||||
|     | ||||
|    validates_presence_of :name | ||||
|    validates_presence_of :position | ||||
|  | @ -42,8 +44,8 @@ class Page | |||
|        self.position = (max_page)? max_page.position.to_i + 1 : 1 | ||||
|      end | ||||
|       | ||||
|      if self.parent_page_id.blank? | ||||
|        self.parent_page_id = "root" | ||||
|      if self.parent_page_name.blank? | ||||
|        self.parent_page_name = "root" | ||||
|      end | ||||
|    end | ||||
|      | ||||
|  |  | |||
|  | @ -3,6 +3,22 @@ | |||
| <%= f.text_field :name, :class => 'text' %> | ||||
| </p> | ||||
| 
 | ||||
| <p> | ||||
| <%= f.label :title, "Title en" %> | ||||
| <%= f.text_field :title_en, :class => 'text' %> | ||||
| </p> | ||||
| 
 | ||||
| 
 | ||||
| <p> | ||||
| <%= f.label :title, "Title zh_tw" %> | ||||
| <%= f.text_field :title_zh_tw, :class => 'text' %> | ||||
| </p> | ||||
| 
 | ||||
| <p> | ||||
| <%= f.label :parent_page_name, "Parent Page Name" %> | ||||
| <%= f.text_field :parent_page_name, :class => 'text' %> | ||||
| </p> | ||||
| 
 | ||||
| <p> | ||||
| <%= f.label :layout_name, "Layout Name" %> | ||||
| <%= f.text_field :layout_name, :class => 'text' %> | ||||
|  | @ -22,18 +38,18 @@ | |||
| 
 | ||||
| <p> | ||||
| <%= f.label :is_published, "Is Published" %> | ||||
| <%= f.radio_button :is_published, 1 %>Yes <%= f.radio_button :is_published, 0 %> No | ||||
| <%= f.radio_button :is_published, true %>Yes <%= f.radio_button :is_published, false %> No | ||||
| </p> | ||||
| 
 | ||||
| <p> | ||||
|     <%= f.label :is_component, "Is component" %> | ||||
| <%= f.radio_button :is_component, true %>Yes <%= f.radio_button :is_component, false %> No | ||||
| </p> | ||||
| 
 | ||||
| <p> | ||||
| <%= f.label :external_link, "External Link" %> | ||||
| <%= f.text_field :external_link %> | ||||
| </p> | ||||
| 
 | ||||
| <p> | ||||
| <%= f.label :use_engine, "Use Engine" %> | ||||
| <%= f.text_field :use_engine %> | ||||
| <p> | ||||
|    | ||||
| <% content_for :page_specific_javascript do %> | ||||
| <script type="text/javascript" charset="utf-8"> | ||||
|  |  | |||
|  | @ -1,18 +1,18 @@ | |||
| <% content_for :secondary do %> | ||||
|     <ul> | ||||
|     <ul class="list"> | ||||
|         <li><%= link_to 'New pages', new_admin_page_path, :class => 'button positive' %></li> | ||||
|         <li><%= link_to 'New component entry', '#' %> | ||||
|         <li><%= link_to 'New root menu snippets', new_admin_snippet_path( :menu => 'root' ), :class => 'button positive' %></li> | ||||
|     </ul> | ||||
| <% end -%> | ||||
| 
 | ||||
| <h1>Listing pages</h1> | ||||
| <h1>Listing pages: <%= params[:parent] || "root" %></h1> | ||||
| 
 | ||||
| <table> | ||||
|   <tr> | ||||
|     <th>Name</th> | ||||
|     <th>Children</th> | ||||
|     <th>Title</th> | ||||
|     <th>Layout</th> | ||||
|     <th>Parent</th> | ||||
|     <th>Position</th> | ||||
|     <th>Published?</th> | ||||
|     <th>Action</th> | ||||
|  | @ -20,22 +20,16 @@ | |||
| 
 | ||||
| <% @pages.each do |page| %> | ||||
|   <tr> | ||||
|     <td><%= link_to page.name, admin_page_path(page) %></td> | ||||
|     <td> | ||||
|       <ul> | ||||
|       <% page.children.each do |child| %> | ||||
|         <li><%= child.name %></li> | ||||
|       <% end -%> | ||||
|       </ul> | ||||
|     </td>   | ||||
|     <td><%= link_to page.name, admin_pages_path(:parent => page.name) %></td> | ||||
|     <td><%=h page.title %> | ||||
|     <td><%= page.layout_name %></th> | ||||
|     <td><%= page.parent_page_id %></td> | ||||
|     <td><%= page.position %></td> | ||||
|     <td><%= page.is_published.to_s %></td> | ||||
|     <td> | ||||
|       <%= link_to 'Edit', edit_admin_page_path(page) %> | | ||||
|       <%= link_to 'Add Child', new_admin_page_path( :parent_page_id => page.id ) %> | | ||||
|       <%= link_to 'Destroy', admin_page_path(page), :confirm => 'Are you sure?', :method => :delete %> | ||||
|       <%= link_to t(:show), page_path(page.name) %> |  | ||||
|       <%= link_to t(:edit), edit_admin_page_path(page) %> | | ||||
|       <%= link_to t(:add_chile_page, :scope => :admin), new_admin_page_path( :parent_page_name => page.name ) %> | | ||||
|       <%= link_to t(:delete), admin_page_path(page), :confirm => 'Are you sure?', :method => :delete %> | ||||
|     </td> | ||||
|   </tr> | ||||
|    | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| 
 | ||||
| <% form_for :page, :url => admin_pages_path do |f| %> | ||||
|   <%= f.error_messages %> | ||||
|   <%= f.hidden_field :parent_page_id %> | ||||
|   <%= f.hidden_field :parent_page_name %> | ||||
|    | ||||
|   <%= render :partial => "form", :locals => { :f => f } %> | ||||
|    | ||||
|  |  | |||
|  | @ -1,7 +1,12 @@ | |||
| zh_tw: | ||||
|   show: 顯示 | ||||
|   edit: 編輯 | ||||
|   delete: 刪除 | ||||
|    | ||||
|   admin: | ||||
|     home: 首頁 | ||||
|     page: 頁面管理 | ||||
|     snippet: 片段管理 | ||||
|     layout: 樣版管理 | ||||
|     add_chile_page: 新增子頁 | ||||
|     announcement: 公告管理 | ||||
|  | @ -50,7 +50,7 @@ ActionController::Routing::Routes.draw do |map| | |||
|   # Note: These default routes make all actions in every controller accessible via GET requests. You should | ||||
|   # consider removing the them or commenting them out if you're using named routes and resources. | ||||
|    | ||||
|   map.connect ':page_name', :controller => 'pages', :action => 'show' | ||||
|   map.page ':page_name', :controller => 'pages', :action => 'show' | ||||
|    | ||||
|   #map.connect ':controller/:action/:id' | ||||
|   #map.connect ':controller/:action/:id.:format' | ||||
|  |  | |||
|  | @ -284,22 +284,6 @@ please read http://easyframework.com/documentation.php | |||
| 		}		 | ||||
| 
 | ||||
| /* // header */ | ||||
| 	 | ||||
| /* content */ | ||||
| 
 | ||||
| 	.content a, .content a:visited{ | ||||
| 		text-decoration:underline; | ||||
| 		} | ||||
| 	 | ||||
| /* // content */ | ||||
| 
 | ||||
| /* footer */ | ||||
| 	 | ||||
| 	#footer a, #footer a:visited{ | ||||
| 		text-decoration:underline; | ||||
| 		} | ||||
| 	 | ||||
| /* // footer */ | ||||
| 
 | ||||
| /* clearfix */ | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,12 @@ | |||
| ul.list{ | ||||
| 	margin:1em 0; | ||||
| 	padding:0; | ||||
| 	border-top:1px solid #ccc; | ||||
| 	width:200px; | ||||
| 	}	 | ||||
| ul.list li{ | ||||
| 	margin:0; | ||||
| 	padding:.5em 0; | ||||
| 	list-style:none; | ||||
| 	border-bottom:1px solid #ccc; | ||||
| 	} | ||||
		Loading…
	
		Reference in New Issue