class Spree::BackendConfiguration
Attributes
menu_items[W]
Items can be added to the menu by using code like the following:
Spree::Backend::Config.configure do |config|
config.menu_items << config.class::MenuItem.new( [:section], 'icon-name', url: 'https://solidus.io/' )
end
@!attribute menu_items
@return [Array<Spree::BackendConfiguration::MenuItem>]
Positioning can be determined by setting the position attribute to an Integer or nil. Menu Items will be rendered with smaller lower values first and higher values last. A position value of nil will cause the menu item to be rendered at the end of the list.
Public Instance Methods
menu_items()
click to toggle source
Return the menu items which should be drawn in the menu
@api public @return [Array<Spree::BackendConfiguration::MenuItem>]
# File lib/spree/backend_configuration.rb, line 92 def menu_items @menu_items ||= [ MenuItem.new( ORDER_TABS, 'shopping-cart', condition: -> { can?(:admin, Spree::Order) }, position: 0 ), MenuItem.new( PRODUCT_TABS, 'th-large', condition: -> { can?(:admin, Spree::Product) }, partial: 'spree/admin/shared/product_sub_menu', position: 1 ), MenuItem.new( PROMOTION_TABS, 'bullhorn', partial: 'spree/admin/shared/promotion_sub_menu', condition: -> { can?(:admin, Spree::Promotion) }, url: :admin_promotions_path, position: 2 ), MenuItem.new( STOCK_TABS, 'cubes', condition: -> { can?(:admin, Spree::StockItem) }, label: :stock, url: :admin_stock_items_path, match_path: '/stock_items', position: 3 ), MenuItem.new( USER_TABS, 'user', condition: -> { Spree.user_class && can?(:admin, Spree.user_class) }, url: :admin_users_path, position: 4 ), MenuItem.new( CONFIGURATION_TABS, 'wrench', condition: -> { can?(:admin, Spree::Store) || can?(:admin, Spree::AdjustmentReason) || can?(:admin, Spree::PaymentMethod) || can?(:admin, Spree::RefundReason) || can?(:admin, Spree::ReimbursementType) || can?(:admin, Spree::ShippingCategory) || can?(:admin, Spree::ShippingMethod) || can?(:admin, Spree::StockLocation) || can?(:admin, Spree::TaxCategory) || can?(:admin, Spree::TaxRate) || can?(:admin, Spree::ReturnReason) || can?(:admin, Spree::Zone) }, label: :settings, partial: 'spree/admin/shared/settings_sub_menu', url: :admin_stores_path, position: 5 ) ] end