Changeset 1151

Show
Ignore:
Timestamp:
09/28/06 20:20:04 (2 years ago)
Author:
james
Message:

left nav changes

Files:

Legend:

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

    r1101 r1151  
    99    end  
    1010  end  
     11   
     12  def prep_nav 
     13      @designers = Designer.find(:all, :order => "name") 
     14            @categories = Category.find(:all, :order => "name") 
     15                @cart = find_cart 
     16  end 
    1117end 
  • peasantonline/app/controllers/catalog_controller.rb

    r1146 r1151  
    11require 'payment' 
    22class CatalogController < ApplicationController 
     3  before_filter :prep_nav 
    34         
    45        def sitemap 
    5           @designers = Designer.find(:all, :order => "name") 
    6           @categories = Category.find(:all, :order => "name") 
    76  end 
    87         
    98        def thanks 
    10           @designers = Designer.find(:all, :order => "name") 
    11           @categories = Category.find(:all, :order => "name") 
    129  end 
    1310 
    1411        def home 
    15           @designers = Designer.find(:all, :order => "name") 
    16           @categories = Category.find(:all, :order => "name") 
    1712          @products = Product.find_tagged_with :all => 'featured', :limit => 2 
    18           @cart = find_cart 
    1913        end 
    2014 
     
    2317  def browse_by_special 
    2418    @special = humanize_param(params[:special]) 
    25      
    26           @designers = Designer.find(:all, :order => "name") 
    27           @categories = Category.find(:all, :order => "name") 
    2819          @products = Product.find_tagged_with :all => @special 
    2920          #@product_pages, @products = paginate(:products, :per_page => 9, :conditions => ["category = ?", @cat_obj.id]) 
    30           @cart = find_cart 
     21 
    3122        end 
    3223 
     
    3526        def browse_by_designer 
    3627                @designer = humanize_param(params[:designer]) 
     28                if params[:gender] == "men" 
     29                  gender_val = false 
     30                else 
     31                  gender_val = true 
     32                end 
    3733 
    3834                @des_obj    = Designer.find_by_name(@designer) 
    3935                #@products   = Product.find_all_by_designer(@des_obj.id) 
    40                 @product_pages, @products = paginate(:products, :per_page => 9, :conditions => ["designer = ?", @des_obj.id]) 
    41                 @designers  = Designer.find(:all, :order => "name") 
    42                 @categories = Category.find(:all, :order => "name") 
    43                 @cart = find_cart 
     36                @product_pages, @products = paginate(:products, :per_page => 9, :conditions => "designer = '#{@des_obj.id}' and gender = #{gender_val}") 
     37 
    4438        end 
    4539 
     
    4842        def browse_by_category 
    4943                @category = humanize_param(params[:category]) 
     44                if params[:gender] == "men" 
     45                  gender_val = false 
     46                else 
     47                  gender_val = true 
     48                end 
    5049 
    5150                @cat_obj    = Category.find_by_name(@category) 
    5251                #@products   = Product.find_all_by_category(@cat_obj.id) 
    53                 @product_pages, @products = paginate(:products, :per_page => 9, :conditions => ["category = ?", @cat_obj.id]) 
    54                 @designers  = Designer.find(:all, :order => "name") 
    55                 @categories = Category.find(:all, :order => "name") 
    56                 @cart = find_cart 
     52                @product_pages, @products = paginate(:products, :per_page => 9, :conditions => "category = '#{@cat_obj.id}' and gender = #{gender_val}") 
    5753        end 
    5854 
     
    6460                  gender_val = true 
    6561                end 
    66                  
    67                 #Product.find(:all, :conditions => ["gender = ?", gender_val]) 
    68                 #@products = Product.find_all_by_gender(gender_val) 
    6962                @product_pages, @products = paginate(:products, :per_page => 9, :conditions => ["gender = ?", gender_val]) 
    7063                 
    71                 @designers = Designer.find(:all, :order => "name") 
    72                 @categories = Category.find(:all, :order => "name") 
    73                 @cart = find_cart 
    7464        end 
    7565 
    7666        def browse_by_product 
    7767                @product = Product.find(params[:product]) 
    78                 @designers = Designer.find(:all, :order => "name") 
    79                 @categories = Category.find(:all, :order => "name") 
    80                  
     68         
    8169                # Product detail object 
    8270                ProductDetail.find(:all, :conditions => ["product = ?", params[:product]]) 
     
    8674                ProductImage.find(:all, :conditions => ["product = ?", params[:product]]) 
    8775                @product_images = ProductImage.find_all_by_product(params[:product]) 
    88                 @cart = find_cart 
    8976        end 
    9077         
     
    10289                        redirect_to_index("Invalid size")  
    10390                else 
    104                         @cart = find_cart        
    10591                        @current_item = @cart.add_product(@product, @product_detail.size) 
    10692                        @product_details = ProductDetail.find_all_by_product(params[:id]) 
     
    117103        # to be defined; not sure if these two belong in the catalog controller... 
    118104        def checkout 
    119                 @cart = find_cart 
    120105        end 
    121106 
    122107        def view_cart 
    123                 @cart = find_cart 
    124108        end 
    125109         
     
    131115                    
    132116                        @order = Order.new 
    133                         @designers  = Designer.find(:all, :order => "name") 
    134                         @categories = Category.find(:all, :order => "name") 
    135117                end  
    136118        end 
    137119         
    138120        def save_order  
    139                 @cart = find_cart  
    140121                @order = Order.new(params[:order])  
    141122                @order.add_line_items_from_cart(@cart) 
     
    146127    end 
    147128 
    148                 @designers  = Designer.find(:all, :order => "name") 
    149                 @categories = Category.find(:all, :order => "name") 
    150129                 
    151130                if @order.save  
  • peasantonline/app/views/catalog/_left_nav.rhtml

    r1128 r1151  
    66                </div> 
    77    <% end %> 
     8        <% gender_list = ['men','women']%> 
     9        <% for gender in gender_list %> 
     10                <div class="gender_block"> 
     11                        <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 @designers %> 
     14            <select onchange="if( this.selectedIndex != 0 ) {location.href = this.options[this.selectedIndex].value;}"> 
     15              <option value=""> Select a Designer: </option> 
     16                        <% for designer in @designers %> 
     17              <option value="<%= shop_by_designer_url(:gender=>gender, :designer => make_linkable( designer.name )) %>"> 
     18                <%= canonicalize_designer( designer.name ) %> 
     19              </option> 
     20                        <% end %> 
     21            </select> 
     22                        <% end %> 
    823 
    9                 <span class="subhead">Shop by</span> 
    10                 <ul> 
    11                                 <li><a href="<%= shop_by_gender_url(:gender => "men" ) %>">Men's items</a></li> 
    12                                 <li><a href="<%= shop_by_gender_url(:gender => "women" ) %>">Women's items</a></li> 
    13                 </ul> 
    14  
    15                 <% if @categories %> 
    16                 <span class="subhead">Categories</span> 
    17                 <ul> 
    18                 <% for category in @categories %> 
    19                                 <li><a href="<%= shop_by_category_url(:category => make_linkable( category.name )) %>"><%= category.name.capitalize %></a></li> 
    20                 <% end %> 
     24                        <% if @categories %> 
     25                        <ul> 
     26                                <% for category in @categories %> 
     27                        <li><a href="<%= shop_by_category_url(:gender => gender,:category => make_linkable( category.name )) %>"><%= category.name.capitalize %></a></li> 
     28                        <% end %> 
    2129                </ul> 
    2230                <% end %> 
    23  
    24                 <% if @designers %> 
    25                 <span class="subhead">Designers</span> 
    26     <select onchange="if( this.selectedIndex != 0 ) {location.href = this.options[this.selectedIndex].value;}"> 
    27       <option value=""> Select: </option> 
    28                 <% for designer in @designers %> 
    29       <option value="<%= shop_by_designer_url(:designer => make_linkable( designer.name )) %>"> 
    30         <%= canonicalize_designer( designer.name ) %> 
    31       </option> 
    3231                <% end %> 
    33     </select
     32               </div
    3433                <% end %> 
    3534 
     35                 
    3636    <p /> 
    3737 
  • peasantonline/config/routes.rb

    r1135 r1151  
    2222        map.shop_by_product  'shop/product/:product',     :controller => "catalog", :action => "browse_by_product" 
    2323        map.shop_by_special 'shop/specials/:special',  :controller => "catalog", :action => "browse_by_special" 
    24         map.shop_by_designer 'shop/designers/:designer',  :controller => "catalog", :action => "browse_by_designer" 
    25         map.shop_by_category 'shop/categories/:category', :controller => "catalog", :action => "browse_by_category" 
    26         map.shop_by_gender   'shop/:gender',              :controller => 'catalog', :action => 'browse_by_gender', 
    27                 :requirements => {:gender => /men|women|mens|womens/} 
     24        map.shop_by_designer 'shop/designers/:gender/:designer',  :controller => "catalog", :action => "browse_by_designer", :requirements => {:gender => /men|women/} 
     25        map.shop_by_category 'shop/categories/:gender/:category', :controller => "catalog", :action => "browse_by_category", :requirements => {:gender => /men|women/} 
     26        map.shop_by_gender   'shop/:gender',              :controller => 'catalog', :action => 'browse_by_gender',:requirements => {:gender => /men|women/} 
    2827 
    2928  # Allow downloading Web Service WSDL as a file with an extension 
  • peasantonline/public/stylesheets/catalog.css

    r1150 r1151  
    203203         
    204204} 
     205 
     206select { 
     207        font-family: courier; 
     208        font-size: 10px; 
     209        color: #333333; 
     210} 
     211.gender_block { 
     212        margin-bottom: 15px; 
     213         
     214}