site_controller.rb
1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
module Kanjai
class SiteController < ApplicationController
layout 'site'
protect_from_forgery
before_filter :define_locale
before_filter :get_page
include Kanjai::ContentFunction
private
def default_url_options(options={})
if params[:locale] or @current_controller == 'pages'
{ :locale => I18n.locale }
end
end
def define_locale
unless params[:locale].nil?
I18n.locale = params[:locale]
end
end
def get_page
@url = get_page_url
#@page_data = PageDatum.where(:url => @url).first
#$current_locale = PageLang.where(default_use: true).first.code
@page_data = PageDatum.where(:url => @url, lang: I18n.locale).first
$current_locale = I18n.locale
if @page_data
#$current_locale = @page_data.lang
else
if @url == '/'
root_page = Page.where(root_page: true).first
if root_page
page_data = root_page.page_data.where(lang: I18n.locale).first
redirect_to root_page.menu_url($scheme)
end
end
end
#I18n.locale = $current_locale
$url = @url
end
end
end