orbit4-5/app/controllers/sitemaps_controller.rb

26 lines
841 B
Ruby

class SitemapsController < ApplicationController
def index
pages = Page.root.child_pages_enabled_for_sitemap
def create_json(pages)
item = {}
pages.each do |page|
if page.child_page.size > 0
if page.page_type == "page"
item["#{page.name}"] = {"url"=> "/#{locale.to_s}" + page.url, "children"=>create_json(page.sorted_published_child_pages), "target"=>"_self"}
else
item["#{page.name}"] = {"url"=> page.external_url, "children"=>create_json(page.sorted_published_child_pages), "target"=>"_blank"}
end
else
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
end
end
item
end
items = create_json(pages)
items
end
end