2013-06-04 25 views
2

我正在寻找在由Magento支持的我们的某个网站上添加博客的搜索字段。我们目前使用第三方附加组件 - http://ecommerce.aheadworks.com/free-stuff/blog.html我已经联系了aheadworks,并且该博客没有附带搜索功能。不过他们说我可以使用类似http://ecommerce.aheadworks.com/magento-extensions/advanced-search.html的东西,但我不确定是否有销售团队试图鞭us我们另一种产品。在Magento的博客中添加搜​​索字段

我是新来的PHP,甚至更新的Magento,所以真的寻找一些建议。这是我可以相对容易地建立自己的东西吗?或者像插件一样,他们推荐了一些我应该走向的东西?

我希望搜索结果在单独的模板上输出到列出博客文章的位置。我已经搜索了一段时间,所有我可以找到如果产品搜索。

只是关于博客当前如何工作的一些信息。网站上有两个页面,其中显示不同的博客帖子,并根据添加帖子时选择的类别。这将决定该帖子在哪个页面上展开。

任何帮助将不胜感激...

谢谢!

+0

任何人? pleaase即时通讯pleasee – JDavies

回答

4

技术上的解决方案,可以带你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 CREATE FUNCTION searchBy()

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

    return $this; 
} 

虽然这不是完美的解决方案,但它的工作是你可以按照你想要的方式改进MySql查询。

现在,当你去:http://example.com/blog?search=keywords

博客将显示职位,其中包括特定的关键字。

希望它有帮助。

感谢, 亚当

0

我有一个建议给你,使用“谷歌自定义搜索整合到Solwin” Magento的扩展。

主要特点:

  • 使用谷歌搜索算法
  • 有助于提高搜索引擎优化为您的网站
  • 作品中多门店环境
  • 改善与图像
  • 设置您的谷歌搜索结果Google自定义搜索引擎可以搜索您的多个网站。
  • 轻松启用/禁用管理
  • 自定义编号每页记录
  • 启用/禁用图片搜索
  • 所有你需要做的是填补了搜索引擎的唯一ID
  • 更换方便与您BUIL的搜索功能
  • 管理员可以启用/禁用自动完成功能 - 这使得查询速度更快。
  • 从管理
  • 启用“排序”下拉菜单易于配置

您可以轻松地安装这个扩展。 在这里你可以看看"Google Custom Search Integration By Solwin"