Skip to main content

exact match search in with any name or meta key words etc

Magento/code/core/Mage/Catalogsearch/Block/Result copy this file into local folder and find this function  protected function _getProductCollection() and edit like below
I am doing search like exact match with name and meta key words 
protected function _getProductCollection()
    {
        if (is_null($this->_productCollection)) {
        $serchQuery = str_replace('+', " ", Mage::app()->getRequest()->getParam('q'));
        $collection = Mage::getModel("catalog/product")->getCollection()->addAttributeToSelect('*')
                ->addAttributeToFilter(array(
                    array('attribute'=>'name','like' => '%' . $serchQuery . '%'),
                    array('attribute'=>'meta_keyword','like' => '%' . $serchQuery . '%'),
                ));
            $this->_productCollection = $collection;
//            $this->_productCollection = $this->getListBlock()->getLoadedProductCollection();
        }
        return $this->_productCollection;
    }

Comments

Popular posts from this blog

Magento 2 product collection Filtering multi-select attribute values

  If you have multi-select attribute of product like below If you want filter value for this option Use below syntax to get product data: ->addAttributeToFilter('store_model', array('finset' => $params['store_model'])) finset key is used for multiselect attribute filter. $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $products = $objectManager->get('Magento\Catalog\Model\Product')         ->getCollection()         ->addAttributeToSelect('*')         ->addAttributeToSelect('store_brand')         ->addAttributeToSelect('store_model')         ->addAttributeToSelect('store_year')         ->addAttributeToFilter('store_brand', array('finset' => $params['store_brand']))         ->addAttributeToFilter('store_model', array('finset' => $params['store_model']))         ->ad...

magento 2 best seller product display based on current category and subcategories

Magento 2 getting best seller based on category wise displaying i have done below for that to implement this functionality it is working fine for me. step 1 create block file in our module folder <?php namespace Pawan\Bestseller\Block; use Magento\Catalog\Api\CategoryRepositoryInterface; class Bestsellercategory extends \Magento\Catalog\Block\Product\ListProduct {     /**      * Product collection model      *      * @var Magento\Catalog\Model\Resource\Product\Collection      */     protected $_collection;     /**      * Product collection model      *      * @var Magento\Catalog\Model\Resource\Product\Collection      */     protected $_productCollection;     /**      * Image helper      *      * @var Magento\Catalog\Helper\Image     ...

order cancel from front end

if you want cancel order from front end create module like this app/etc/modules/<Namespace_Modulename>.xml <config>     <modules>         <Namespace_CustomerOrderCancel>             <active>true</active>             <codePool>community</codePool>             <depends>                 <Mage_Sales />             </depends>         </ Namespace _CustomerOrderCancel>     </modules> </config> app/community/Namespace/Modulename           ------controllers           -------etc           -------Helper if you want cancel button in history page (myorder) need override block file Mage_Sales_Block_Orde...