2

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

我是 PHP 新手,甚至是 Magento 新手,所以真的在寻找一些建议。这是我可以相对轻松地建立自己的东西吗?还是他们推荐的插件之类的我应该去的东西?

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

只是关于博客当前工作方式的一些信息。网站上有两个页面显示不同的博客文章,具体取决于您在添加文章时选择的类别。这将确定帖子随后被拉到哪个页面。

任何帮助将非常感激...

谢谢!

4

2 回答 2

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

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

希望能帮助到你。

谢谢,亚当

于 2014-01-09T13:24:39.247 回答
0

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

主要特征:

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

您可以轻松安装此扩展程序。在这里您可以查看“Solwin 的 Google 自定义搜索集成”

于 2015-11-04T07:29:44.053 回答