ref: master
plugins/shopping_cart/lib/shopping_cart_plugin.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
class ShoppingCartPlugin < Noosfero::Plugin def self.plugin_name "Shopping Basket" end def self.plugin_description _("A shopping basket feature for enterprises") end def stylesheet? true end def js_files 'cart.js' end def body_beginning lambda do extend ShoppingCartPlugin::CartHelper render 'public/cart' unless cart_minimized end end def control_panel_buttons buttons = [] if context.profile.enterprise? buttons << { :title => _('Shopping basket'), :icon => 'shopping-cart-icon', :url => {:controller => 'shopping_cart_plugin_myprofile', :action => 'edit'} } end buttons end def add_to_cart_button item, options = {} profile = item.profile return unless profile.shopping_cart_enabled and item.available lambda do extend ShoppingCartPlugin::CartHelper add_to_cart_button item, options end end alias :product_info_extras :add_to_cart_button alias :catalog_item_extras :add_to_cart_button alias :asset_product_extras :add_to_cart_button # We now think that it's not a good idea to have the basket in the same time. #def catalog_autocomplete_item_extras product # add_to_cart_button product, with_text: false #end def catalog_search_extras_begin return unless profile.shopping_cart_enabled lambda do extend ShoppingCartPlugin::CartHelper content_tag 'li', render('public/cart'), :class => 'catalog-cart' end end end |