sub menu widget for orbit 4.5
This commit is contained in:
parent
6fb574ac60
commit
64c6a43f12
|
@ -0,0 +1,45 @@
|
|||
class SiteMenuWidgetsController < ApplicationController
|
||||
|
||||
def widget
|
||||
pages = Page.root.child_pages_enabled_for_sitemap
|
||||
def create_json(pages)
|
||||
items = []
|
||||
pages.each do |page|
|
||||
item = {}
|
||||
if page.child_page.size > 0
|
||||
if page.page_type == "page"
|
||||
item["page_name"] = page.name
|
||||
item["url"] = "/#{locale.to_s}" + page.url
|
||||
item["children"] = create_json(page.sorted_published_child_pages)
|
||||
item["target"] = "_self"
|
||||
else
|
||||
item["page_name"] = page.name
|
||||
item["url"] = "/#{locale.to_s}" + page.url
|
||||
item["children"] = create_json(page.sorted_published_child_pages)
|
||||
item["target"] = "_blank"
|
||||
end
|
||||
else
|
||||
if page.page_type == "page"
|
||||
item["page_name"] = page.name
|
||||
item["url"] = "/#{locale.to_s}" + page.url
|
||||
item["target"] = "_self"
|
||||
item["children"] = []
|
||||
else
|
||||
item["page_name"] = page.name
|
||||
item["url"] = page.external_url
|
||||
item["target"] = "_blank"
|
||||
item["children"] = []
|
||||
end
|
||||
end
|
||||
items << item
|
||||
end
|
||||
items
|
||||
end
|
||||
items = create_json(pages)
|
||||
{
|
||||
"pages" => items,
|
||||
"extras" => {"widget_title" => "Sub Menu"}
|
||||
}
|
||||
|
||||
end
|
||||
end
|
|
@ -1,4 +1,10 @@
|
|||
module SiteMenuWidget
|
||||
class Engine < ::Rails::Engine
|
||||
initializer "site_menu_widget" do
|
||||
OrbitApp.registration "SiteMenuWidget", :type => "OrbitWidget" do
|
||||
widget_label "SiteMenu"
|
||||
widget_methods ["widget"]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue