35 lines
		
	
	
		
			995 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			995 B
		
	
	
	
		
			Ruby
		
	
	
	
| module ParserCommon
 | |
|  
 | |
|   def menu_level(page, current, menu, edit = false)
 | |
|     if current <= menu.levels
 | |
|       res = "<ul id="
 | |
|       res << menu.values["id_#{current}"]
 | |
|       res << " class="
 | |
|       res << menu.values["class_#{current}"]
 | |
|       res << ">"
 | |
|       i = nil
 | |
|       i = 1 if menu.values["li_incremental_#{current}"]
 | |
|       if current == 1 && menu.values['home'].eql?('true')
 | |
|         res << menu_li(page, current, menu, i, edit)
 | |
|         i += 1 if i
 | |
|       end
 | |
|       page.children.each do |child|
 | |
|         res << menu_li(child, current, menu, i, edit)
 | |
|         i += 1 if i
 | |
|       end
 | |
|       res << "</ul>"
 | |
|     end
 | |
|   end
 | |
|   
 | |
|   def menu_li(page, current, menu, i, edit)
 | |
|     res = "<li class="
 | |
|     res << menu.values["li_class_#{current}"]
 | |
|     res << "_#{i}" if i
 | |
|     res << ">"
 | |
|     res << "<a href='#{edit ? admin_page_path(page.id) : page.full_name}'>#{page.name}</a>"  
 | |
|     res << menu_level(page, current + 1, menu, edit) if page.children.size > 0 && !page.is_home?
 | |
|     res << "</li>"
 | |
|   end
 | |
| 
 | |
| end
 |