Sha256: 2b8bffe7f75225cf4dfaa5e63f5d40cc8ae8bfac1c601e374cf1f037e7f46bdc

Contents?: true

Size: 951 Bytes

Versions: 4

Compression:

Stored size: 951 Bytes

Contents

module RsLocalizeable
  extend ActiveSupport::Concern
  included do
    before_action do
      I18n.locale = params[:locale] || I18n.default_locale
      Settings.ns_default = "main_#{I18n.locale}"
      Settings.ns_fallback = "main"
    end
  end
  private
  def default_url_options(options={})
    {locale: params[:locale]}
  end
  def nav_get_menu_items(type)
    pages = ::Menu.find(type.to_s).pages.enabled
    if RocketCMS.mongoid?
      pages = pages.where(:"name.#{I18n.locale}".exists => true)
    elsif RocketCMS.active_record?
      pages = pages.where(["EXIST(name_translations, ?) = TRUE AND name_translations -> ? != ''", I18n.locale, I18n.locale])
    end
    pages.sorted.to_a
  end
  def nav_get_url(item)
    (params[:locale].blank? ? "" : "/#{params[:locale]}") + (item.redirect.blank? ? item.fullpath : item.redirect)
  end
  def find_seo_extra(path)
    Page.enabled.where(fullpath: path.gsub(/(\/ru|\/en)/, "")).first
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rocket_cms-0.11.5 app/controllers/concerns/rs_localizeable.rb
rocket_cms-0.11.4 app/controllers/concerns/rs_localizeable.rb
rocket_cms-0.11.3 app/controllers/concerns/rs_localizeable.rb
rocket_cms-0.11.2 app/controllers/concerns/rs_localizeable.rb