forked from saurabh/orbit4-5
Fix routes and url schema and UTF-8
This commit is contained in:
parent
a54e19ea18
commit
e3b25c1ae5
|
|
@ -14,3 +14,5 @@
|
||||||
# Ignore all logfiles and tempfiles.
|
# Ignore all logfiles and tempfiles.
|
||||||
/log/*.log
|
/log/*.log
|
||||||
/tmp
|
/tmp
|
||||||
|
|
||||||
|
/Gemfile.lock
|
||||||
|
|
|
||||||
4
Gemfile
4
Gemfile
|
|
@ -14,7 +14,7 @@ gem 'uglifier', '>= 1.3.0'
|
||||||
|
|
||||||
# Use CoffeeScript for .js.coffee assets and views
|
# Use CoffeeScript for .js.coffee assets and views
|
||||||
gem 'coffee-rails', '~> 4.0.0'
|
gem 'coffee-rails', '~> 4.0.0'
|
||||||
gem 'announcement', path: '/Volumes/MyData/github/orbit4.5/announcement'
|
gem 'announcement', git: 'git@gitlab.tp.rulingcom.com:saurabh/announcement-test.git'
|
||||||
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
||||||
# gem 'therubyracer', platforms: :ruby
|
# gem 'therubyracer', platforms: :ruby
|
||||||
|
|
||||||
|
|
@ -43,4 +43,4 @@ end
|
||||||
# gem 'capistrano', group: :development
|
# gem 'capistrano', group: :development
|
||||||
|
|
||||||
# Use debugger
|
# Use debugger
|
||||||
gem 'debugger', group: [:development, :test]
|
gem 'debugger', '>= 1.6.6', group: [:development, :test]
|
||||||
|
|
|
||||||
|
|
@ -17,29 +17,21 @@ class PagesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
page = Page.find_by_param(params[:page_id]) rescue nil
|
page = Page.find_by_param(params[:page_id])
|
||||||
module_app = page.module.downcase.pluralize
|
module_app = page.module.downcase.pluralize
|
||||||
params[:target_controller] = "#{module_app}"
|
params[:target_controller] = "#{module_app}"
|
||||||
@manifest = @key
|
@manifest = @key
|
||||||
@dataApi = nil
|
@dataApi = nil
|
||||||
OrbitHelper.set_params params
|
if params[:slug]
|
||||||
OrbitHelper.set_site_locale locale
|
params[:target_action] = "show"
|
||||||
|
params[:uid] = params[:slug].split("-").last
|
||||||
|
else
|
||||||
params[:target_action] = "index"
|
params[:target_action] = "index"
|
||||||
params[:url] = page.url
|
params[:url] = page.url
|
||||||
render render_final_page("#{module_app}/show",page)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def moduleShow
|
|
||||||
page = Page.find_by_param(params[:page_id])
|
|
||||||
params[:target_action] = "show"
|
|
||||||
params[:uid] = params[:uid]
|
|
||||||
module_app = page.module.downcase.pluralize
|
|
||||||
params[:target_controller] = "#{module_app}"
|
|
||||||
@manifest = @key
|
|
||||||
@dataApi = nil
|
|
||||||
OrbitHelper.set_params params
|
OrbitHelper.set_params params
|
||||||
OrbitHelper.set_site_locale locale
|
OrbitHelper.set_site_locale locale
|
||||||
render render_final_page("#{module_app}/show",page)
|
render render_final_page("#{module_app}/#{params[:target_action]}",page)
|
||||||
end
|
end
|
||||||
|
|
||||||
def preview
|
def preview
|
||||||
|
|
@ -82,7 +74,7 @@ class PagesController < ApplicationController
|
||||||
@layout_html = nil
|
@layout_html = nil
|
||||||
@file = File.join('../templates', "#{@key}", '/home/page.html.erb')
|
@file = File.join('../templates', "#{@key}", '/home/page.html.erb')
|
||||||
@layout_html = render_to_string(@file)
|
@layout_html = render_to_string(@file)
|
||||||
doc = Nokogiri::HTML(@layout_html)
|
doc = Nokogiri::HTML(@layout_html, nil, "UTF-8")
|
||||||
|
|
||||||
@part_partials.each do |key, partial|
|
@part_partials.each do |key, partial|
|
||||||
html_string = ""
|
html_string = ""
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ module ApplicationHelper
|
||||||
|
|
||||||
key = Template::KEY
|
key = Template::KEY
|
||||||
menu_file = File.open(File.join(Rails.root, 'app', 'templates', "#{key}", '/home/menu.html.erb'))
|
menu_file = File.open(File.join(Rails.root, 'app', 'templates', "#{key}", '/home/menu.html.erb'))
|
||||||
doc = Nokogiri::HTML(menu_file)
|
doc = Nokogiri::HTML(menu_file, nil, "UTF-8")
|
||||||
menu_file.close
|
menu_file.close
|
||||||
|
|
||||||
temp = []
|
temp = []
|
||||||
|
|
@ -50,7 +50,7 @@ module ApplicationHelper
|
||||||
|
|
||||||
|
|
||||||
temp.each_with_index do |menu,i|
|
temp.each_with_index do |menu,i|
|
||||||
t = Nokogiri::HTML(menu)
|
t = Nokogiri::HTML(menu, nil, "UTF-8")
|
||||||
a = t.css("*[data-menu-link='true']")
|
a = t.css("*[data-menu-link='true']")
|
||||||
a[0]["href"] = "href_here"
|
a[0]["href"] = "href_here"
|
||||||
li = t.css("*[data-menu-level='#{i}'] > *")
|
li = t.css("*[data-menu-level='#{i}'] > *")
|
||||||
|
|
@ -83,7 +83,7 @@ module ApplicationHelper
|
||||||
def render_view
|
def render_view
|
||||||
if params[:target_action] == "index"
|
if params[:target_action] == "index"
|
||||||
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller], "#{params[:target_action]}.html.erb"))
|
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller], "#{params[:target_action]}.html.erb"))
|
||||||
doc = Nokogiri::HTML(file)
|
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
||||||
file.close
|
file.close
|
||||||
wrap_elements = doc.css("*[data-module]")
|
wrap_elements = doc.css("*[data-module]")
|
||||||
controller = "#{params[:target_controller].capitalize}Controller".classify.constantize.new
|
controller = "#{params[:target_controller].capitalize}Controller".classify.constantize.new
|
||||||
|
|
@ -103,7 +103,7 @@ module ApplicationHelper
|
||||||
doc.to_s.html_safe
|
doc.to_s.html_safe
|
||||||
elsif params[:target_action] == "show"
|
elsif params[:target_action] == "show"
|
||||||
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller], "#{params[:target_action]}.html.erb"))
|
file = File.open(File.join(Rails.root, 'app', 'templates', "#{@key}", 'modules', params[:target_controller], "#{params[:target_action]}.html.erb"))
|
||||||
doc = Nokogiri::HTML(file)
|
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
||||||
file.close
|
file.close
|
||||||
wrap_element_html = doc.to_s
|
wrap_element_html = doc.to_s
|
||||||
html_to_render = ""
|
html_to_render = ""
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ module OrbitHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.url_to_show(uid,title)
|
def self.url_to_show(uid,title)
|
||||||
"/#{self.get_site_locale.to_s}#{@params[:url]}/#{uid}/#{title.parameterize}"
|
"/#{self.get_site_locale.to_s}#{@params[:url]}/#{title}--#{uid}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.set_site_locale(locale)
|
def self.set_site_locale(locale)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module PagesHelper
|
||||||
|
|
||||||
def parse_pp_tags(file)
|
def parse_pp_tags(file)
|
||||||
opened_file = File.open(file)
|
opened_file = File.open(file)
|
||||||
doc = Nokogiri::HTML(opened_file)
|
doc = Nokogiri::HTML(opened_file, nil, "UTF-8")
|
||||||
opened_file.close
|
opened_file.close
|
||||||
pps = doc.css("*[data-pp]")
|
pps = doc.css("*[data-pp]")
|
||||||
pps.each do |pp|
|
pps.each do |pp|
|
||||||
|
|
@ -13,7 +13,7 @@ module PagesHelper
|
||||||
|
|
||||||
def render_widget_for_frontend(controller_name, widget_method, widget_file)
|
def render_widget_for_frontend(controller_name, widget_method, widget_file)
|
||||||
file = File.open(File.join(Rails.root, 'app', 'templates', "#{Template::KEY}", 'modules', "#{controller_name}", "_#{widget_file}.html.erb"))
|
file = File.open(File.join(Rails.root, 'app', 'templates', "#{Template::KEY}", 'modules', "#{controller_name}", "_#{widget_file}.html.erb"))
|
||||||
doc = Nokogiri::HTML(file)
|
doc = Nokogiri::HTML(file, nil, "UTF-8")
|
||||||
file.close
|
file.close
|
||||||
wrap_elements = doc.css("*[data-repeat]")
|
wrap_elements = doc.css("*[data-repeat]")
|
||||||
controller = "#{controller_name.capitalize}Controller".classify.constantize.new
|
controller = "#{controller_name.capitalize}Controller".classify.constantize.new
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,7 @@ OrbitStore::Application.routes.draw do
|
||||||
# You can have the root of your site routed with "root"
|
# You can have the root of your site routed with "root"
|
||||||
root 'home#index'
|
root 'home#index'
|
||||||
scope "(:locale)", locale: /en|zh_tw/ do
|
scope "(:locale)", locale: /en|zh_tw/ do
|
||||||
|
get ':page_id(/:page_id((/:page_id)/:slug))', to: 'pages#show'
|
||||||
get ':page_id(/:page_id(/:page_id))', to: 'pages#show'
|
|
||||||
get ':page_id(/:uid(/:slug))', to: 'pages#moduleShow'
|
|
||||||
get ':page_id(/:page_id(/:uid(/:slug)))', to: 'pages#moduleShow'
|
|
||||||
get ':page_id(/:page_id(/:page_id(/:uid(/:slug))))', to: 'pages#moduleShow'
|
|
||||||
resources :pages
|
resources :pages
|
||||||
end
|
end
|
||||||
# Example of regular route:
|
# Example of regular route:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue