| 
	Magento: 如何对产品进行分目录的产品搜索 
	In "advanced search" feature, searching product by category is not the default setting.  But we can do this by modifying the foloowing files: 
	app/code/core/Mage/CatalogSearch/Block/Advanced/Form.php 
	app/code/core/Mage/CatalogSearch/Model/Advanced.php 
	app/design/yourdesign/yourdesign/template/catalogsearch/advanced/form.phtml 
	At the bottom of app/code/core/Mage/CatalogSearch/Block/Advanced/Form.php we can add following codes: 
	public function getStoreCategories() 
	    { 
	        $helper = Mage::helper('catalog/category'); 
	        return $helper->getStoreCategories(); 
	    } 
	In app/code/core/Mage/CatalogSearch/Model/Advanced.php, replace the getSearchCriterias() by following functions: 
	 public function getSearchCriterias() 
	     { 
	     $search = $this->_searchCriterias; 
	              /* display category filtering criteria */ 
	         if(isset($_GET['category']) && is_numeric($_GET['category'])) { 
	         $category = Mage::getModel('catalog/category')->load($_GET['category']); 
	         $search[] = array('name'=>'Category','value'=>$category->getName()); 
	      } 
	      return $search; 
	     } 
	Replace the getProductCollection() by following function: 
	 public function getProductCollection(){ 
	    if (is_null($this->_productCollection)) { 
	        $this->_productCollection = Mage::getResourceModel('catalogsearch/advanced_collection') 
	        ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes()) 
	        ->addMinimalPrice() 
	        ->addStoreFilter(); 
	        Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($this->_productCollection); 
	        Mage::getSingleton('catalog/product_visibility')->addVisibleInSearchFilterToCollection($this->_productCollection); 
	        /* include category filtering */ 
	        if(isset($_GET['category']) && is_numeric($_GET['category'])) $this->_productCollection->addCategoryFilter(Mage::getModel('catalog/category')->load($_GET['category']),true); 
	        } 
	        return $this->_productCollection; 
	}  
	In page app/design/yourdesign/yourdesign/template/catalogsearch/advanced/form.phtml, find the codes as following: 
	   <input name="<?php echo $_code ?>" id="<?php echo $_code ?>" value="<?php echo $this->htmlEscape($this->getAttributeValue($_attribute)) ?>" title="<?php echo $this->htmlEscape($this->getAttributeLabel($_attribute)) ?>"  class="input-text <?php echo $this->getAttributeValidationClass($_attribute) ?>" type="text" /> 
	            <?php endswitch; ?> 
	        </li> 
	        <?php endforeach; ?> 
	at the bottom of this piece of codes, add following codes: 
	         <li> 
	<label for="category_search_field">Search by Category:</label> 
	<select name="category" id="category_search_field"> 
	<option value="">-- Any Category --</option> 
	<?php foreach ($this->getStoreCategories() as $_category): ?> 
	<?php if($_category->hasChildren()): ?> 
	<option class="parent-cat" value="<?php echo $_category->getId(); ?>"><?php echo $_category->getName();?></option> 
	<?php foreach ($_category->getChildren() as $subcategory): 
	if($subcategory->getIsActive()) : ?> 
	<option value="<?php echo $subcategory->getId(); ?>"<?php echo ($this->getRequest()->getQuery('category') == $subcategory->getId() ? ' selected="selected"': "") ?>><?php echo $subcategory->getName(); ?></option> 
	<?php endif; endforeach; ?> 
	<?php elseif($_category->getIsActive()): ?> 
	<option value="<?php echo $_category->getId(); ?>"><?php echo $_category->getName();?></option> 
	<?php endif; ?> 
	<?php endforeach ?> 
	</select> 
	</li>(责任编辑:最模板) | 



 ecshop易趣英文外贸模板
							人气:1288
							ecshop易趣英文外贸模板
							人气:1288
						 ecshop抽奖插件免费送出
							人气:5881
							ecshop抽奖插件免费送出
							人气:5881
						 名鞋库shopex模板|鞋子商城
							人气:718
							名鞋库shopex模板|鞋子商城
							人气:718
						 ecshop蓝色化妆品模板|化妆
							人气:507
							ecshop蓝色化妆品模板|化妆
							人气:507
						 ecshop仿淘宝母婴商城模板
							人气:533
							ecshop仿淘宝母婴商城模板
							人气:533
						 ecshop英文外贸工业模板
							人气:474
							ecshop英文外贸工业模板
							人气:474