在Magento的博客上添加一个搜索字段


Adding a search field on blog in Magento

我希望在我们的一个网站上添加一个博客搜索字段,这是由Magento驱动的。我们目前使用的是第三方插件http://ecommerce.aheadworks.com/free-stuff/blog.html,我已经联系了aheadworks,这个博客没有搜索功能。然而,他们说我可以使用类似http://ecommerce.aheadworks.com/magento-extensions/advanced-search.html的东西,但我不确定这是不是他们的销售团队试图向我们推销另一种产品。

我是PHP的新手,甚至是Magento的新手,所以真的在寻找一些建议。它是我可以相对容易地建立起来的东西吗?或者他们推荐的插件是我应该使用的?

我希望搜索结果输出在一个单独的模板上,其中列出了博客文章。我已经用谷歌搜索了一段时间,我只能找到一个产品搜索。

只是一点点关于博客目前如何工作的信息。网站上有两个页面显示不同的博客文章,这取决于您在添加帖子时选择的类别。这将决定文章在哪个页面被拉过。

任何帮助都将是非常感激的……

谢谢!

技术解决方案,可以花你5分钟实现:

在/app/code/community/AW/Blog/Block/Collection.php中替换公共函数getPosts();:

public function getPosts()
{
    $collection = parent::_prepareCollection();
    $tag = $this->getRequest()->getParam('tag');
    if ($tag) {
        $collection->addTagFilter(urldecode($tag));
    }

    //this part here is responsible for search
    $search = $this->getRequest()->getParam('search'); //get request "search" parameter from url
    if ($search) {
        $collection->searchBy(urldecode($search));
    }
    //end
    parent::_processCollection($collection);
    return $collection;
}

之后,在/app/code/community/AW/Blog/Model/Mysql4/Blog/Collection.php中添加以下代码:

public function searchBy($key)
{         
    $this->getSelect()
            ->where("(title) LIKE '%$key%' OR (short_content) LIKE '%$key%'");
    return $this;
}   

虽然它不是完美的解决方案,但它正在做它的工作,你可以改善MySql查询在你想要的方式

现在当你进入:http://example.com/blog?search=keywords

博客将显示包含特定关键词的帖子。

希望有帮助。

谢谢,亚当

我有一个建议给你,使用"Google自定义搜索集成Solwin" Magento扩展。

主要特点:

  • 使用Google搜索算法
  • 有助于提高您的网站的SEO
  • 适用于多商店环境
  • 用图片改善你的谷歌搜索结果
  • 设置Google自定义搜索引擎来搜索您的多个网站。
  • 从admin中轻松启用/禁用
  • 自定义号码每页记录数
  • 启用/禁用图像搜索
  • 您所需要做的就是填写搜索引擎唯一ID
  • 使用内置搜索功能轻松替换
  • 管理员可以启用/禁用自动完成功能-这使得查询更快。
  • 启用'Order By'下拉菜单
  • 易于配置

你可以很容易地安装这个扩展。在这里你可以看看"Google自定义搜索集成By Solwin"