diff --git a/plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb b/plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb index 1f1a649..dbc2a0c 100644 --- a/plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb +++ b/plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb @@ -2,8 +2,9 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block settings_items :show_cms_action, :type => :boolean, :default => true settings_items :show_profile, :type => :boolean, :default => true + settings_items :show_section_name, :type => :boolean, :default => true - attr_accessible :show_cms_action, :show_profile + attr_accessible :show_cms_action, :show_profile, :show_section_name def self.description _('Content Breadcrumbs') @@ -40,7 +41,18 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block proc do trail = block.trail(@page, @profile, params) if !trail.empty? - trail.map { |t| link_to(t[:name], t[:url], :class => 'item') }.join(content_tag('span', ' > ', :class => 'separator')) + separator = content_tag('span', ' > ', :class => 'separator') + + breadcrumb = trail.map do |t| + link_to(t[:name], t[:url], :class => 'item') + end.join(separator) + + if block.show_section_name + section_name = block.show_profile ? trail.second[:name] : trail.first[:name] + breadcrumb << content_tag('div', section_name, :class => 'section-name') + end + + breadcrumb else '' end diff --git a/plugins/breadcrumbs/test/functional/profile_design_controller_test.rb b/plugins/breadcrumbs/test/functional/profile_design_controller_test.rb index fa7e6ba..94dc8bb 100644 --- a/plugins/breadcrumbs/test/functional/profile_design_controller_test.rb +++ b/plugins/breadcrumbs/test/functional/profile_design_controller_test.rb @@ -41,4 +41,9 @@ class ProfileDesignControllerTest < ActionController::TestCase assert !@block.show_cms_action end + should 'be able save breadcrumbs block with show_section_name option' do + get :edit, :id => @block.id, :profile => @profile.identifier + post :save, :id => @block.id, :profile => @profile.identifier, :block => {:title => 'breadcrumbs', :show_cms_action => false, :show_profile => true, :show_section_name => true } + assert @block.show_section_name + end end diff --git a/plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb b/plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb index 8692a79..f80f0f0 100644 --- a/plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb +++ b/plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb @@ -1,4 +1,5 @@
-- libgit2 0.21.2