Add sub_menu to site_info
This commit is contained in:
parent
caba8ce7a4
commit
5c7cf1aef2
|
@ -18,6 +18,7 @@ class Site
|
|||
|
||||
has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
has_one :footer, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
has_one :sub_menu, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
||||
has_many :site_metas, :autosave => true, :dependent => :destroy
|
||||
|
||||
before_save :set_key
|
||||
|
@ -33,7 +34,6 @@ class Site
|
|||
end
|
||||
|
||||
def up_to_date?
|
||||
p res = %x(git remote show origin)
|
||||
res = res.split('rails_3_1').pop.gsub('(', '').gsub(')','').strip rescue nil
|
||||
res.eql?('local out of date') ? false : true
|
||||
end
|
||||
|
@ -46,6 +46,10 @@ class Site
|
|||
@footer ||= I18nVariable.first(:conditions => {:key => 'footer', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
||||
end
|
||||
|
||||
def sub_menu
|
||||
@sub_menu ||= I18nVariable.first(:conditions => {:key => 'sub_menu', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
||||
end
|
||||
|
||||
METAS.each do |meta|
|
||||
define_method meta do
|
||||
fetch_meta = self.site_metas.where(key: meta).limit(1)
|
||||
|
@ -66,6 +70,7 @@ class Site
|
|||
def set_key
|
||||
title.key = 'title' if title && (title.key.blank? rescue true)
|
||||
footer.key = 'footer' if footer && (footer.key.blank? rescue true)
|
||||
sub_menu.key = 'sub_menu' if sub_menu && (sub_menu.key.blank? rescue true)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -55,6 +55,14 @@
|
|||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label"><%= t 'admin.site_sub_menu' %></label>
|
||||
<div class="controls">
|
||||
<%= f.fields_for :sub_menu, @site.sub_menu do |f| %>
|
||||
<%= f.text_area locale, :class => "tinymce_textarea input-xxlarge" %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
@ -205,6 +205,7 @@ en:
|
|||
site_description: Site description
|
||||
site_footer: Site footer
|
||||
site_settings: Site Setting
|
||||
site_sub_menu: Site sub-menu
|
||||
site_title: Site title
|
||||
super_pages: Super pages
|
||||
structure: Structure
|
||||
|
|
|
@ -195,6 +195,7 @@ zh_tw:
|
|||
site_description: 網站描述
|
||||
site_footer: 網站頁尾
|
||||
site_settings: 基本設定
|
||||
site_sub_menu: 網站次選單
|
||||
site_title: 網站標題
|
||||
setup_member: 成員設置
|
||||
setup_translations: 語系設定
|
||||
|
|
|
@ -29,6 +29,7 @@ module ParserBackEnd
|
|||
public_r_tags = parse_content_edits(body, page, id)
|
||||
parse_images(body, page)
|
||||
parse_footer(body, page, true)
|
||||
parse_sub_menu(body, page, true)
|
||||
|
||||
public_r_tags.each do |tag|
|
||||
send("parse_#{tag}s", body, page,id)
|
||||
|
|
|
@ -116,14 +116,32 @@ module ParserCommon
|
|||
end
|
||||
end
|
||||
|
||||
# page_menu
|
||||
# page_footer
|
||||
def parse_footer(body, page, edit=nil)
|
||||
page_footer = body.css('.page_footer').first
|
||||
res = "<div, id='footer', class='footer'>"
|
||||
res << @site.footer[I18n.locale]
|
||||
if page_footer
|
||||
res = "<div id='#{page_footer['id']}', class='#{page_footer['class']}'>"
|
||||
res << @site.footer[I18n.locale] rescue nil
|
||||
res << "</div>"
|
||||
fragment = Nokogiri::HTML::DocumentFragment.new(body ,res)
|
||||
page_footer.swap(fragment) rescue nil
|
||||
else
|
||||
''
|
||||
end
|
||||
end
|
||||
|
||||
# page_sub_menu
|
||||
def parse_sub_menu(body, page, edit=nil)
|
||||
page_sub_menu = body.css('.page_sub_menu').first
|
||||
if page_sub_menu
|
||||
res = "<div id='#{page_sub_menu['id']}', class='#{page_sub_menu['class']}'>"
|
||||
res << @site.sub_menu[I18n.locale] rescue nil
|
||||
res << "</div>"
|
||||
fragment = Nokogiri::HTML::DocumentFragment.new(body ,res)
|
||||
page_sub_menu.swap(fragment) rescue nil
|
||||
else
|
||||
''
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -26,7 +26,8 @@ module ParserFrontEnd
|
|||
parse_menu(body, page)
|
||||
public_r_tags = parse_contents(body, page, id,params[:preview])
|
||||
parse_images(body, page)
|
||||
parse_footer(body, page, true)
|
||||
parse_footer(body, page)
|
||||
parse_sub_menu(body, page)
|
||||
|
||||
public_r_tags.each do |tag|
|
||||
send("parse_#{tag}s", body, page,id)
|
||||
|
|
Reference in New Issue