Fix bugs in sub_menu

This commit is contained in:
Christophe Vilayphiou committed 2012-05-09 04:31:04 +08:00
1 parent 9ead6cafda
commit 909ca19456
2 files changed
+14 -12

No files matched your search

+13 -11
View File
@@ -111,19 +111,21 @@ module ParserCommon
# sub_menus
def parse_sub_menus(body = nil, page = nil, id = nil, edit=nil)
body.css('sub_menu').each do |sub_menu|
menu_page = Page.find(sub_menu['id'])
menu_page = Page.find(sub_menu['id']) rescue nil
res = ''
res << "<div class='category_list'>"
res << "<h3 class='h3'>#{menu_page.i18n_variable[I18n.locale]}</h3>"
res << "<ul class='list'>"
menu_page.ordered_and_visible_children.each do |child|
res << "<li class='#{page.id.eql?(child.id) ? 'active' : nil}'>"
res << "<a href='#{edit ? admin_page_path(child.id) : child.full_name}'>#{child.i18n_variable[I18n.locale]}</a>"
res << "</li>"
if menu_page && menu_page.ordered_and_visible_children.size > 0
res << "<div class='category_list'>"
res << "<h3 class='h3'>#{menu_page.i18n_variable[I18n.locale]}</h3>"
res << "<ul class='list'>"
menu_page.ordered_and_visible_children.each do |child|
res << "<li class='#{page.id.eql?(child.id) ? 'active' : nil}'>"
res << "<a href='/#{edit ? admin_page_path(child.id) : child.full_name}'>#{child.i18n_variable[I18n.locale]}</a>"
res << "</li>"
end
res << "</ul>"
res << "</h3>"
res << "</div>"
end
res << "</ul>"
res << "</h3>"
res << "</div>"
fragment = Nokogiri::HTML::DocumentFragment.new(body, res)
sub_menu.swap(fragment)
end