Changeset 1152

Show
Ignore:
Timestamp:
09/28/06 21:03:50 (2 years ago)
Author:
james
Message:

left nav sorted by categories

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • peasantonline/app/controllers/application.rb

    r1151 r1152  
    1414            @categories = Category.find(:all, :order => "name") 
    1515                @cart = find_cart 
     16                @product_gender = nil 
    1617  end 
    1718end 
  • peasantonline/app/controllers/catalog_controller.rb

    r1151 r1152  
    2727                @designer = humanize_param(params[:designer]) 
    2828                if params[:gender] == "men" 
    29                   gender_val = false 
     29                  @gender_val = false 
    3030                else 
    31                   gender_val = true 
     31                  @gender_val = true 
    3232                end 
    3333 
    3434                @des_obj    = Designer.find_by_name(@designer) 
    3535                #@products   = Product.find_all_by_designer(@des_obj.id) 
    36                 @product_pages, @products = paginate(:products, :per_page => 9, :conditions => "designer = '#{@des_obj.id}' and gender = #{gender_val}") 
     36                @product_pages, @products = paginate(:products, :per_page => 9, :conditions => "designer = '#{@des_obj.id}' and gender = #{@gender_val}") 
    3737 
    3838        end 
     
    4242        def browse_by_category 
    4343                @category = humanize_param(params[:category]) 
     44                @product_gender = "n/a" 
    4445                if params[:gender] == "men" 
    45                   gender_val = false 
     46                  @gender_val = false 
    4647                else 
    47                   gender_val = true 
     48                  @gender_val = true 
    4849                end 
    4950 
    5051                @cat_obj    = Category.find_by_name(@category) 
    5152                #@products   = Product.find_all_by_category(@cat_obj.id) 
    52                 @product_pages, @products = paginate(:products, :per_page => 9, :conditions => "category = '#{@cat_obj.id}' and gender = #{gender_val}") 
     53                @product_pages, @products = paginate(:products, :per_page => 9, :conditions => "category = '#{@cat_obj.id}' and gender = #{@gender_val}") 
    5354        end 
    5455 
    5556        def browse_by_gender 
    5657                @gender = humanize_param(params[:gender]) 
     58                @product_gender = "n/a" 
    5759                if params[:gender] == "men" 
    5860                  gender_val = false 
     
    7476                ProductImage.find(:all, :conditions => ["product = ?", params[:product]]) 
    7577                @product_images = ProductImage.find_all_by_product(params[:product]) 
     78                 
     79 
     80                        if @product.gender == false 
     81                  @product_gender = "men" 
     82                else 
     83                  @product_gender = "women" 
     84                end 
    7685        end 
    7786         
  • peasantonline/app/views/catalog/_left_nav.rhtml

    r1151 r1152  
    88        <% gender_list = ['men','women']%> 
    99        <% for gender in gender_list %> 
     10        <% gender_bool = (gender == "women") %> 
    1011                <div class="gender_block"> 
    1112                        <div class="subhead"><a href="<%= shop_by_gender_url(:gender => gender ) %>"><%= gender.capitalize %>'s items</a></div> 
    12                 <%if params[:gender] == gender || !params[:gender] %> 
     13                <%if params[:gender] == gender || (!params[:gender] && gender == @product_gender) || @product_gender == nil %> 
    1314                <% if @designers %> 
    1415            <select onchange="if( this.selectedIndex != 0 ) {location.href = this.options[this.selectedIndex].value;}"> 
    1516              <option value=""> Select a Designer: </option> 
    1617                        <% for designer in @designers %> 
    17               <option value="<%= shop_by_designer_url(:gender=>gender, :designer => make_linkable( designer.name )) %>"> 
     18               
     19                        <%  
     20                        @nav_products = Product.find(:all, :conditions => "designer = '#{designer.id}' and gender = #{gender_bool}") 
     21                        if @nav_products.length > 0 
     22                        %> 
     23        <option value="<%= shop_by_designer_url(:gender=>gender, :designer => make_linkable( designer.name )) %>"> 
    1824                <%= canonicalize_designer( designer.name ) %> 
    1925              </option> 
     26                        <% end %> 
    2027                        <% end %> 
    2128            </select> 
     
    2431                        <% if @categories %> 
    2532                        <ul> 
    26                                 <% for category in @categories %> 
     33                        <% for category in @categories %> 
     34                        <%  
     35                        @nav_products = Product.find(:all, :conditions => "category = '#{category.id}' and gender = #{gender_bool}") 
     36                        if @nav_products.length > 0 
     37                        %> 
    2738                        <li><a href="<%= shop_by_category_url(:gender => gender,:category => make_linkable( category.name )) %>"><%= category.name.capitalize %></a></li> 
     39                        <% 
     40                        end 
     41                        %> 
    2842                        <% end %> 
    29                 </ul> 
     43                       </ul> 
    3044                <% end %> 
    3145                <% end %>