Here is the code to add category and manufacturer / brand dropdown to the magento default search. Just replace your "template/catalogsearch/form.mini.phtml" with the below code.
<?php $category = Mage::getModel('catalog/category'); if(is_object(Mage::registry('current_category'))){ $current_category_path=Mage::registry('current_category')->getPathIds(); }else{ $current_category_path = array(); } $category->load(Mage::app()->getStore()->getRootCategoryId()); $children_string = $category->getChildren(); $children = explode(',',$children_string); $extra_options=''; foreach($children as $c){ $selected = (in_array($c, $current_category_path))?'SELECTED':''; $extra_options.= '<option $selected . value="' . $c . '" ' . '>' . htmlspecialchars($category->load($c)->getName()) . '</option>' . "\n"; } ?> <form id="search_mini_form" action="<?php echo $this->helper('catalogSearch')->getResultUrl() ?>" method="get"> <fieldset> <legend><?php echo $this->__('Search Site') ?></legend> <div class="mini-search"> <input id="search" type="text" class="input-text" name="<?php echo $this->helper('catalogSearch')->getQueryParamName() ?>" value="<?php echo $this->helper('catalogSearch')->getEscapedQueryText() ?>" /> <select name="cat"> <option value="">Select Category</option> <?= $extra_options ?> </select> <?php $product = Mage::getModel('catalog/product'); $attributes = Mage::getResourceModel('eav/entity_attribute_collection') ->setEntityTypeFilter($product->getResource()->getTypeId()) ->addFieldToFilter('attribute_code', 'manufacturer'); $attribute = $attributes->getFirstItem()->setEntity($product->getResource()); $manufacturers = $attribute->getSource()->getAllOptions(false);?> <select name="manufacturer" id="manufacturer" class="" title="Manufacturer" > <?php foreach ($manufacturers as $manufacturer): ?> <option value="<?php echo $manufacturer['value'] ?>"><?php echo $manufacturer['label'] ?></option> <?php endforeach; ?> </select> <input type="submit" value="Go" style="border: 1px solid #808080;" alt="<?php echo $this->__('Search') ?>" /> <div id="search_autocomplete" class="search-autocomplete"></div> <script type="text/javascript"> //<![CDATA[ var searchForm = new Varien.searchForm('search_mini_form', 'search', '<?php echo $this->__('Search Entire Site...') ?>'); searchForm.initAutocomplete('<?php echo $this->helper('catalogSearch')->getSuggestUrl() ?>', 'search_autocomplete'); //]]> </script> </div> </fieldset> </form>
No comments:
Post a Comment