Class: CamaleonCms::CategoryDecorator
- Inherits:
-
TermTaxonomyDecorator
- Object
- Draper::Decorator
- ApplicationDecorator
- TermTaxonomyDecorator
- CamaleonCms::CategoryDecorator
- Defined in:
- app/decorators/camaleon_cms/category_decorator.rb
Instance Method Summary collapse
-
#generate_breadcrumb(add_post_type = true, is_parent = false) ⇒ Object
——————— add_post_type: true/false to include post type link is_parent: true/false (internal control).
-
#the_categories ⇒ Object
return all children categories for the current category (active_record) filtered by permissions + hidden posts + roles + etc…
-
#the_category(slug_or_id) ⇒ Object
return a child category from this category with id (integer) or by slug (string).
-
#the_edit_url ⇒ Object
return edit url for this category.
-
#the_post_type ⇒ Object
return the post type of this post tag.
-
#the_thumb_url(default = nil) ⇒ Object
return thumbnail for this post type default: if thumbnail is not present, will render default.
-
#the_url(*args) ⇒ Object
return the public url for this category.
Methods inherited from TermTaxonomyDecorator
#the_content, #the_edit_link, #the_excerpt, #the_owner, #the_parent, #the_post, #the_posts, #the_slug, #the_status, #the_title
Methods included from CustomFieldsConcern
#render_fields, #the_field, #the_field_grouped, #the_fields, #the_fields_grouped, #the_json_field, #the_json_fields
Methods inherited from ApplicationDecorator
#_calc_locale, #get_locale, #marshal_dump, #marshal_load, #set_decoration_locale, #the_breadcrumb, #the_created_at, #the_id, #the_keywords, #the_slug, #the_updated_at
Methods included from MetasDecoratorMethods
Instance Method Details
#generate_breadcrumb(add_post_type = true, is_parent = false) ⇒ Object
add_post_type: true/false to include post type link is_parent: true/false (internal control)
39 40 41 42 43 44 45 46 47 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 39 def (add_post_type = true, is_parent = false) _parent = object.parent if _parent.present? _parent.decorate.(add_post_type, true) else object.post_type_parent.decorate.(add_post_type, true) end h.(the_title, is_parent ? the_url : nil) end |
#the_categories ⇒ Object
return all children categories for the current category (active_record) filtered by permissions + hidden posts + roles + etc… in return object, you can add custom where’s or pagination like here: edgeguides.rubyonrails.org/active_record_querying.html
25 26 27 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 25 def the_categories object.children end |
#the_category(slug_or_id) ⇒ Object
return a child category from this category with id (integer) or by slug (string)
30 31 32 33 34 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 30 def the_category(slug_or_id) return object.categories.where(id: slug_or_id).first if slug_or_id.is_a?(Integer) object.categories.find_by_slug(slug_or_id) if slug_or_id.is_a?(String) end |
#the_edit_url ⇒ Object
return edit url for this category
18 19 20 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 18 def the_edit_url h.edit_cama_admin_post_type_category_url(object.post_type.id, object) end |
#the_post_type ⇒ Object
return the post type of this post tag
57 58 59 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 57 def the_post_type object.post_type.decorate end |
#the_thumb_url(default = nil) ⇒ Object
return thumbnail for this post type default: if thumbnail is not present, will render default
51 52 53 54 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 51 def the_thumb_url(default = nil) th = object.get_option('thumb') th.present? ? th : (default || h.asset_path('camaleon_cms/category-icon.png')) end |
#the_url(*args) ⇒ Object
return the public url for this category
6 7 8 9 10 11 12 13 14 15 |
# File 'app/decorators/camaleon_cms/category_decorator.rb', line 6 def the_url(*args) args = args. args[:category_id] = the_id args[:label] = I18n.t('routes.category', default: 'category') args[:title] = the_title.parameterize.presence || the_slug args[:locale] = @_deco_locale unless args.include?(:locale) args[:format] = args[:format] || 'html' as_path = args.delete(:as_path) h.cama_url_to_fixed("cama_category_#{as_path.present? ? 'path' : 'url'}", args) end |