Fix bugs in sub_menu
This commit is contained in:
1 parent
9ead6cafda
commit
909ca19456
2 files changed
+14
-12
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user