Class: Optimacms::Page
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Optimacms::Page
show all
- Includes:
- MetaContent
- Defined in:
- app/models/optimacms/page.rb
Class Method Summary
collapse
Instance Method Summary
collapse
#meta_keywords_content, #meta_keywords_content=
Class Method Details
.content_filename_dir ⇒ Object
68
69
70
|
# File 'app/models/optimacms/page.rb', line 68
def self.content_filename_dir
Rails.root.to_s + '/app/views/pages/'
end
|
.get_where(values) ⇒ Object
104
105
106
107
108
109
110
111
|
# File 'app/models/optimacms/page.rb', line 104
def self.get_where(values)
w = '1=1 '
w << " AND title like '%#{values['title']}%' " if values['title'] && !values['title'].blank?
w << " AND parent_id = '#{values['parent_id']}' " if !values['parent_id']!=-1
w
end
|
.list(filter, pg) ⇒ Object
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# File 'app/models/optimacms/page.rb', line 81
def self.list(filter, pg)
pg =1 if pg.nil? || pg<=0
order = filter.order
if order.empty?
orderby = 'id'
orderdir = 'asc'
else
orderby = order[0][0]
orderdir = order[0][1]
end
self.where(get_where(filter.data))
.order(" #{orderby} #{orderdir}")
.page(pg)
end
|
Instance Method Details
#build_translations ⇒ Object
def translations_by_lang
return @translations_by_lang unless @translations_by_lang.nil?
@translations_by_lang = {}
Language.list_with_default.each{|lang| @translations_by_lang[lang] = nil}
self.translations.all.each { |r| @translations_by_lang[r.lang] = r }
@translations_by_lang
end
137
138
139
140
141
142
143
144
145
|
# File 'app/models/optimacms/page.rb', line 137
def build_translations
langs = Language.list_with_default
langs_missing = langs - self.translations.all.map{|r| r.lang}
langs_missing.each do |lang|
self.translations.new(:lang=>lang)
end
end
|
#content(lang = '') ⇒ Object
45
46
47
48
49
50
|
# File 'app/models/optimacms/page.rb', line 45
def content(lang='')
filename = content_filename_full(lang)
return nil if filename.nil?
return '' if !File.exists? filename
File.read(filename)
end
|
#content=(v, lang = '') ⇒ Object
52
53
54
55
56
|
# File 'app/models/optimacms/page.rb', line 52
def content=(v, lang='')
File.open(content_filename_full(lang), "w+") do |f|
f.write(v)
end
end
|
#content_filename(lang = '') ⇒ Object
63
64
65
66
|
# File 'app/models/optimacms/page.rb', line 63
def content_filename(lang='')
return nil if self.name.nil?
self.name+content_filename_lang_postfix(lang)+'.'+content_filename_ext
end
|
#content_filename_full(lang) ⇒ Object
72
73
74
75
76
|
# File 'app/models/optimacms/page.rb', line 72
def content_filename_full(lang)
f = content_filename(lang)
return nil if f.nil?
Page.content_filename_dir + f
end
|
#content_page? ⇒ Boolean
58
59
60
|
# File 'app/models/optimacms/page.rb', line 58
def content_page?
self.controller_action.nil? || self.controller_action.blank?
end
|
#parent_title ⇒ Object
38
39
40
|
# File 'app/models/optimacms/page.rb', line 38
def parent_title
self.folder.title
end
|
#save ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'app/models/optimacms/page.rb', line 26
def save
begin
super
rescue => e
false
end
end
|