Sha256: 04685d4d100f513696d0fd253be2d98202753dbd50d53e8c67179b099c9d6270

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

class ProductsController < Spree::BaseController
  resource_controller
  helper :taxons
  before_filter :load_data, :only => :show
  actions :show, :index

  index do
    before do
      @product_cols = 3
    end
  end

  def change_image
    @product = Product.available.find_by_param(params[:id])
    img = Image.find(params[:image_id])
    render :partial => 'image', :locals => {:image => img}
  end

  private
  def load_data
    
    return unless permalink = params[:taxon_path]
    @taxon = Taxon.find_by_permalink(params[:taxon_path].join("/") + "/")
  end
  
  def collection
    if params[:taxon]
      @taxon = Taxon.find(params[:taxon])
      
      @search = Product.active.scoped(:conditions =>
                                        ["products.id in (select product_id from products_taxons where taxon_id in (" +
                                          @taxon.descendents.inject( @taxon.id.to_s) { |clause, t| clause += ', ' + t.id.to_s} + "))"
                                        ]).new_search(params[:search])
    else
      @search = Product.active.new_search(params[:search])
    end

    @search.per_page = Spree::Config[:products_per_page]
    @search.include = :images

    @product_cols = 3
    @products ||= @search.all
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
kdmny-spree-0.0.1 app/controllers/products_controller.rb
spree-0.8.4 app/controllers/products_controller.rb
spree-0.7.0 app/controllers/products_controller.rb
spree-0.7.1 app/controllers/products_controller.rb
spree-0.8.0 app/controllers/products_controller.rb
spree-0.8.1 app/controllers/products_controller.rb
spree-0.8.2 app/controllers/products_controller.rb
spree-0.8.3 app/controllers/products_controller.rb