2014-05-22 11:19:25 +00:00
|
|
|
class SitemapsController < ApplicationController
|
2014-09-26 09:10:17 +00:00
|
|
|
# caches_page :sitemap_xml
|
2014-05-22 11:19:25 +00:00
|
|
|
def index
|
2014-09-26 09:10:17 +00:00
|
|
|
genrate_sitemap
|
|
|
|
end
|
|
|
|
|
|
|
|
def sitemap_xml
|
|
|
|
@items = Page.where(:id.ne => Page.root.id).asc(:number)
|
|
|
|
@home = Page.root
|
|
|
|
respond_to do |format|
|
|
|
|
format.xml
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def genrate_sitemap
|
2014-07-11 13:06:23 +00:00
|
|
|
if $mobile.blank?
|
|
|
|
pages = Page.root.child_pages_enabled_for_sitemap
|
|
|
|
else
|
|
|
|
pages = Page.root.child_pages_enabled_for_sitemap_for_mobile
|
|
|
|
end
|
2014-05-22 11:19:25 +00:00
|
|
|
def create_json(pages)
|
|
|
|
item = {}
|
|
|
|
pages.each do |page|
|
|
|
|
if page.child_page.size > 0
|
2014-06-09 10:58:44 +00:00
|
|
|
if page.page_type == "page"
|
2014-07-11 13:06:23 +00:00
|
|
|
if $mobile.blank?
|
|
|
|
item["#{page.name}"] = {"url"=> "/#{locale.to_s}" + page.url, "children"=>create_json(page.sorted_published_child_pages), "target"=>"_self"}
|
|
|
|
else
|
|
|
|
item["#{page.name}"] = {"url"=> "/#{locale.to_s}" + page.url, "children"=>create_json(page.sorted_published_child_pages_for_mobile), "target"=>"_self"}
|
|
|
|
end
|
2014-06-09 10:58:44 +00:00
|
|
|
else
|
2014-07-11 13:06:23 +00:00
|
|
|
if $mobile.blank?
|
|
|
|
item["#{page.name}"] = {"url"=> page.external_url, "children"=>create_json(page.sorted_published_child_pages), "target"=>"_blank"}
|
|
|
|
else
|
|
|
|
item["#{page.name}"] = {"url"=> page.external_url, "children"=>create_json(page.sorted_published_child_pages_for_mobile), "target"=>"_blank"}
|
|
|
|
end
|
2014-06-09 10:58:44 +00:00
|
|
|
end
|
2014-05-22 11:19:25 +00:00
|
|
|
else
|
2014-06-09 10:58:44 +00:00
|
|
|
if page.page_type == "page"
|
|
|
|
item["#{page.name}"] = {"url"=> "/#{locale.to_s}" + page.url, "target"=>"_self"}
|
|
|
|
else
|
|
|
|
item["#{page.name}"] = {"url"=> page.external_url, "target"=>"_blank"}
|
|
|
|
end
|
2014-05-22 11:19:25 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
item
|
|
|
|
end
|
|
|
|
items = create_json(pages)
|
|
|
|
items
|
|
|
|
end
|
2014-09-26 09:10:17 +00:00
|
|
|
|
|
|
|
|
2014-05-22 11:19:25 +00:00
|
|
|
end
|