Commit 5de43a78e7c09fe95e0e53607d6625f6691e114d
Committed by
Antonio Terceiro
1 parent
2e81bdc6
Exists in
staging
and in
42 other branches
Add option to make it possible to show the article's section name.
Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com> Signed-off-by: Antonio Terceiro <terceiro@colivre.coop.br> See merge request !489
Showing
3 changed files
with
20 additions
and
2 deletions
Show diff stats
plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb
| ... | ... | @@ -2,8 +2,9 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block |
| 2 | 2 | |
| 3 | 3 | settings_items :show_cms_action, :type => :boolean, :default => true |
| 4 | 4 | settings_items :show_profile, :type => :boolean, :default => true |
| 5 | + settings_items :show_section_name, :type => :boolean, :default => true | |
| 5 | 6 | |
| 6 | - attr_accessible :show_cms_action, :show_profile | |
| 7 | + attr_accessible :show_cms_action, :show_profile, :show_section_name | |
| 7 | 8 | |
| 8 | 9 | def self.description |
| 9 | 10 | _('Content Breadcrumbs') |
| ... | ... | @@ -40,7 +41,18 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block |
| 40 | 41 | proc do |
| 41 | 42 | trail = block.trail(@page, @profile, params) |
| 42 | 43 | if !trail.empty? |
| 43 | - trail.map { |t| link_to(t[:name], t[:url], :class => 'item') }.join(content_tag('span', ' > ', :class => 'separator')) | |
| 44 | + separator = content_tag('span', ' > ', :class => 'separator') | |
| 45 | + | |
| 46 | + breadcrumb = trail.map do |t| | |
| 47 | + link_to(t[:name], t[:url], :class => 'item') | |
| 48 | + end.join(separator) | |
| 49 | + | |
| 50 | + if block.show_section_name | |
| 51 | + section_name = block.show_profile ? trail.second[:name] : trail.first[:name] | |
| 52 | + breadcrumb << content_tag('div', section_name, :class => 'section-name') | |
| 53 | + end | |
| 54 | + | |
| 55 | + breadcrumb | |
| 44 | 56 | else |
| 45 | 57 | '' |
| 46 | 58 | end | ... | ... |
plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
| ... | ... | @@ -41,4 +41,9 @@ class ProfileDesignControllerTest < ActionController::TestCase |
| 41 | 41 | assert !@block.show_cms_action |
| 42 | 42 | end |
| 43 | 43 | |
| 44 | + should 'be able save breadcrumbs block with show_section_name option' do | |
| 45 | + get :edit, :id => @block.id, :profile => @profile.identifier | |
| 46 | + post :save, :id => @block.id, :profile => @profile.identifier, :block => {:title => 'breadcrumbs', :show_cms_action => false, :show_profile => true, :show_section_name => true } | |
| 47 | + assert @block.show_section_name | |
| 48 | + end | |
| 44 | 49 | end | ... | ... |
plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb
| 1 | 1 | <div id='edit-breadcrumbs-block'> |
| 2 | 2 | <%= labelled_form_field check_box(:block, :show_cms_action) + _('Show cms action'), '' %> |
| 3 | 3 | <%= labelled_form_field check_box(:block, :show_profile) + _('Show profile'), '' %> |
| 4 | + <%= labelled_form_field check_box(:block, :show_section_name) + _('Show section name'), '' %> | |
| 4 | 5 | </div> | ... | ... |