Magento _searchCriterias无法更改

时间:2015-01-29 18:20:31

标签: magento

我正在构建自定义搜索结果页面,并且我拥有必须包含在结果中的所有产品的ID。我想覆盖默认搜索条件,是的,我可以覆盖$this->_searchCriterias,但它不会更改结果页面本身。

这是我的自定义代码CatalogSearch/Model/Advanced.php

   public function getSearchCriterias()
    {
        $search = $this->_searchCriterias;

        var_dump($search);

        $search = array();

        if(isset($_GET['productid'])) {
            $value = $this->getIdsFromSearchUrl($_GET['productid']);
            if(is_array($value)){
              foreach($value as $v){
                if(is_numeric($v)){
                  $product = Mage::getModel('catalog/product')->load($v);
                  var_dump($product->getId());
                  $search[] = array('name'=>'Name','value'=>$product->getName());
                }
              }
            } else {
              if(is_numeric($value)){
               $product = Mage::getModel('catalog/product')->load($value);
               $search[] = array('name'=>'Name','value'=>$product->getName());
              }
            }
        }

        var_dump($search);

        $this->_searchCriterias = $search;

        return $search;
    }

任何帮助都被激活了。

1 个答案:

答案 0 :(得分:0)

我理解的方式是,您希望网站始终包含一些"特色产品",这些产品不一定与搜索字词相关。 我会建议一种替代方法,而不是篡改搜索引擎逻辑:

  1. 创建用于显示特色产品的块和模板。
  2. 将该块添加到product_list块内的搜索引擎结果页面(在catalogsearch_result_index下)
  3. 修改list.phtml并回显刚刚添加的子块。
  4. 如果有帮助,请告诉我。