back_end widget breadcrumb finish
This commit is contained in:
parent
0b88f7d1f8
commit
2a61470f8b
3
Gemfile
3
Gemfile
|
@ -76,8 +76,8 @@ group :test, :development do
|
|||
gem 'pry-remote'
|
||||
gem 'pry-stack_explorer'
|
||||
gem 'pry-debugger'
|
||||
gem 'debugger'
|
||||
gem 'faker'
|
||||
|
||||
gem "sunspot-rails-tester"
|
||||
gem 'database_cleaner' #Strategies for cleaning databases. Can be used to ensure a clean state for testing.
|
||||
gem "rspec", "~> 2.0"
|
||||
|
@ -93,4 +93,3 @@ group :test, :development do
|
|||
# gem "bluecloth"
|
||||
end
|
||||
|
||||
gem 'debugger'
|
||||
|
|
|
@ -2,6 +2,11 @@ class FrontController < ApplicationController
|
|||
|
||||
layout false
|
||||
|
||||
def show_breadcrumb
|
||||
@ancestors = Page.find(params[:menu_page_id]).ancestors_and_self.map{|m|m.title_translations[locale]}.delete_at(0) rescue []
|
||||
@ancestors.delete_at(0)
|
||||
end
|
||||
|
||||
def show_banner
|
||||
@ad_banner = AdBanner.find(params[:id]) rescue nil
|
||||
end
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
<%= f.hidden_field :public_r_tag_object_id, :value => @part.page.id %>
|
||||
<%#= f.select :public_r_tag_object_id, options_for_select([t(:horizontal), t(:vertical)], t(:horizontal)) %>
|
||||
<% elsif @r_tag.eql?('sitemap') %>
|
||||
<% elsif @r_tag.eql?('breadcrumb') %>
|
||||
<% else %>
|
||||
<%= f.select :public_r_tag_object_id, options_from_collection_for_select(@tag_objects, :id, :title, :selected => @part.public_r_tag_object_id) %>
|
||||
<% end %>
|
||||
</span>
|
||||
</span>
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<% if not @ancestors.empty? %>
|
||||
<div class='category_list'>
|
||||
<ul class='list'>
|
||||
<%= @ancestors.each do |node| %>
|
||||
<li class='active'>
|
||||
<%= link_to node.title, (node.class.to_s.eql?('Page') ? '/' + node.path : node.url) %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
|
@ -37,17 +37,18 @@ markups:
|
|||
muti_lang_input_supprt: true
|
||||
ext_support: true
|
||||
|
||||
|
||||
|
||||
public_r_tags:
|
||||
- ad_banner
|
||||
- sub_menu
|
||||
- sitemap
|
||||
|
||||
- breadcrumb
|
||||
|
||||
page_part_kinds:
|
||||
- text
|
||||
- public_r_tag
|
||||
- module_widget
|
||||
|
||||
|
||||
widget_field:
|
||||
- title
|
||||
- category
|
||||
|
@ -57,7 +58,7 @@ widget_field:
|
|||
- content
|
||||
- link
|
||||
- file
|
||||
|
||||
|
||||
widget_field_type:
|
||||
- title
|
||||
- category
|
||||
|
@ -76,4 +77,4 @@ default_widget_style:
|
|||
- style2
|
||||
- style3
|
||||
- style4
|
||||
- style5
|
||||
- style5
|
||||
|
|
|
@ -255,7 +255,7 @@ Orbit::Application.routes.draw do
|
|||
end
|
||||
end
|
||||
|
||||
controller_paths :front, %w[show_banner show_footer show_menu show_page_sub_menu show_site_sub_menu show_sitemap]
|
||||
controller_paths :front, %w[show_breadcrumb show_banner show_footer show_menu show_page_sub_menu show_site_sub_menu show_sitemap]
|
||||
# controller_paths :mobile, %w[index announcement announcement_content dialog_contact dialog_copyright dialog_language map page page_content]
|
||||
|
||||
# scope 'app' do
|
||||
|
|
|
@ -30,6 +30,7 @@ module ParserBackEnd
|
|||
parse_images_edit(body, page)
|
||||
parse_footer_edit(body, page)
|
||||
parse_sub_menu_edit(body, page)
|
||||
parse_breadcrumb_edit(body, page)
|
||||
parse_counter_edit(body)
|
||||
public_r_tags.each do |tag|
|
||||
send("parse_#{tag}s_edit", body, page, true)
|
||||
|
|
|
@ -144,6 +144,31 @@ module ParserCommon
|
|||
end
|
||||
end
|
||||
|
||||
# breadcrumb
|
||||
def parse_breadcrumbs_edit(body = nil, page = nil, edit=nil)
|
||||
body.css('breadcrumb').each do |breadcrumb|
|
||||
ancestors = Page.find(page.id).ancestors_and_self.map{|m|m.title} rescue nil
|
||||
ancestors.delete_at(0)
|
||||
res = ''
|
||||
|
||||
if ancestors
|
||||
res << "<div class='category_list'>"
|
||||
res << "<ul class='list'>"
|
||||
ancestors.each do |node|
|
||||
res << "<li class='active'>"
|
||||
# root = "/"
|
||||
# res << "<a href='#{edit ? root + admin_page_path(child.id) : (child.class.to_s.eql?('Page') ? root + child.path : child.url)}'>#{child.title}</a>"
|
||||
res << "<a herf ='/' + node.path )}>#{node}</a>"
|
||||
res << "</li>"
|
||||
end
|
||||
res << "</ul>"
|
||||
res << "</div>"
|
||||
end
|
||||
fragment = Nokogiri::HTML::DocumentFragment.new(body, res)
|
||||
breadcrumb.swap(fragment)
|
||||
end
|
||||
end
|
||||
|
||||
# page_footer
|
||||
def parse_footer_edit(body, page)
|
||||
page_footer = body.css('.page_footer').first
|
||||
|
@ -172,6 +197,18 @@ module ParserCommon
|
|||
end
|
||||
end
|
||||
|
||||
def parse_breadcrumb_edit(body, page)
|
||||
page_breadcrumb = body.css('.page_breadcrumb').first
|
||||
if page_breadcrumb
|
||||
res = "<div id='#{page_breadcrumb['id']}', class='#{page_breadcrumb['class']}'>"
|
||||
res << @site.breadcrumb rescue nil
|
||||
res << "</div>"
|
||||
fragment = Nokogiri::HTML::DocumentFragment.new(body ,res)
|
||||
page_breadcrumb.swap(fragment) rescue nil
|
||||
else
|
||||
''
|
||||
end
|
||||
end
|
||||
# sitemap
|
||||
def parse_sitemaps_edit(body = nil, page = nil, edit=nil)
|
||||
sitemap = body.css('sitemap').first
|
||||
|
|
|
@ -178,5 +178,9 @@ module ParserFrontEnd
|
|||
def generate_sub_menus(*args)
|
||||
"<div class='dymanic_load' path='#{front_show_page_sub_menu_path({:menu_page_id => args[0], :page_id => args[1]})}'></div>"
|
||||
end
|
||||
|
||||
|
||||
# breadcrumb
|
||||
def generate_breadcrumbs(*args)
|
||||
"<div class='dymanic_load' path='#{front_show_breadcrumb_path({:menu_page_id => args[0], :page_id => args[1]})}'></div>"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue