【问题标题】:Magento: Search CMS Page content for keywordMagento:在 CMS 页面内容中搜索关键字
【发布时间】:2014-07-31 00:13:16
【问题描述】:

我正在尝试修改目前仅搜索 CMS 页面标题的搜索功能。我想包括对页面内容的搜索。目前功能如下:

public function getSearchCMSPages($keyword){
    $result = array();
    $storeId    = Mage::app()->getStore()->getId();
    $cmspages = Mage::getModel('cms/page')->getCollection()
    ->addFieldToFilter("is_active",1)
    ->addFieldToFilter('title',array('like'=>'%'. $keyword.'%'))
    ->setCurPage(1)
    ->setOrder('title','ASC');
    $cmspages->load();
    if(count($cmspages))
    {
        foreach($cmspages as $_page)
        {
            $result[] = $_page->getId();
        }
    }
    return $result;
}

我想要做的是修改此功能,以便在 CMS 页面内容中也搜索关键字。

非常感谢任何有关如何解决此问题的帮助或建议。

-埃里克

【问题讨论】:

    标签: php magento content-management-system


    【解决方案1】:

    你可以试试这个。它对我有用。

    public function getSearchCMSPages($keyword)
    {
        $result = array();
        $storeId    = Mage::app()->getStore()->getId();
        $cmspages = Mage::getModel('cms/page')->getCollection()
        ->addFieldToFilter("is_active",1)
        ->addFieldToFilter(
            array('title','content'),
            array(
                array('like'=>'%'. $keyword.'%'),
                array('like'=>'%'. $keyword.'%')
            )
        )
        ->setCurPage(1)
        ->setOrder('title','ASC');
        $cmspages->load();
    
        if(count($cmspages))
        {
            foreach($cmspages as $_page)
            {
                $result[] = $_page->getTitle();
            }
        }
        return $result;
    }
    

    与您的代码的唯一区别是,我们现在像这样过滤 CMS 页面的 content 属性和 title 属性

        ->addFieldToFilter(
            array('title','content'),
            array(
                array('like'=>'%'. $keyword.'%'),
                array('like'=>'%'. $keyword.'%')
            )
        )
    

    休息是一样的。希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-08
      相关资源
      最近更新 更多