module Optimacms
module ApplicationHelper
def method_missing(method, *args, &block)
main_app.send(method, *args, &block)
rescue NoMethodError
super
end
def tinymce_editor_insert_block
'
{{block:name:sub}}
'
end
def meta_tags(title=nil, keywords=nil, desc=nil)
title ||= @optimacms_meta_title
keywords ||= @optimacms_meta_keywords
desc ||= @optimacms_meta_description
return %(#{title}
).html_safe
#content_tag(:title, title)+
#content_tag(:meta, nil, content: keywords, name: 'keywords')+
#content_tag(:meta, nil, content: desc, name: 'description')
end
def block(name)
x = Dir.pwd
#y = File.expand_path File.dirname(__FILE__)
d = File.dirname(@optimacms_tpl)
# try1 - in the current folder
f = File.join(Dir.pwd, 'app', 'views', d, name+'.html')
return render file: f if File.exists? f
#
names = []
names << [d, name+".html"]
names << ["", name+".html"]
#
parts = name.split /\//
parts[-1] = '_'+parts[-1]
name2 = parts.join('/')
names << [d, name2+".html"]
names << ["", name2+".html"]
# try 2
names.each do |p|
f = File.join(Dir.pwd, 'app', 'views', p[0], p[1])
(return render file: f) if File.exists? f
f = File.join(Dir.pwd, 'app', 'views', p[0], p[1]+".haml")
(return render file: f) if File.exists? f
f = File.join(Dir.pwd, 'app', 'views', p[0], p[1]+".erb")
(return render file: f) if File.exists? f
end
# default render
return render f
end
def site_page_path(h)
if h.is_a? String
cms.cms_page_path(h+'.html')
elsif h.is_a? Hash
cms.cms_page_path(h[:page]+'.html')
end
end
end
end