Sha256: 2370f0cfa92cd9621452a990fc06bf7072f000de0e760f6edfd8c286806425b5
Contents?: true
Size: 1.99 KB
Versions: 5
Compression:
Stored size: 1.99 KB
Contents
module Spree module Core module ControllerHelpers module Common extend ActiveSupport::Concern included do helper_method :title helper_method :title= helper_method :accurate_title layout :get_layout before_action :set_user_language protected # can be used in views as well as controllers. # e.g. <% self.title = 'This is a custom title for this view' %> attr_writer :title def title title_string = @title.present? ? @title : accurate_title if title_string.present? if Spree::Config[:always_put_site_name_in_title] [title_string, default_title].join(" #{Spree::Config[:title_site_name_separator]} ") else title_string end else default_title end end def default_title current_store.name end # this is a hook for subclasses to provide title def accurate_title current_store.seo_title end private def set_user_language locale = session[:locale] locale = store_locale if respond_to?(:store_locale, true) && locale.blank? locale = config_locale if respond_to?(:config_locale, true) && locale.blank? locale = Rails.application.config.i18n.default_locale if locale.blank? locale = I18n.default_locale unless I18n.available_locales.map(&:to_s).include?(locale.to_s) I18n.locale = locale end # Returns which layout to render. # # You can set the layout you want to render inside your Spree configuration with the +:layout+ option. # # Default layout is: +app/views/spree/layouts/spree_application+ # def get_layout layout ||= Spree::Config[:layout] end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems