【问题标题】:Adding a search field on blog in Magento在 Magento 的博客上添加搜索字段
【发布时间】:2013-06-04 11:13:24
【问题描述】:
【问题讨论】:
标签:
php
magento
search
magento-1.7
【解决方案1】:
技术上的解决方案可能需要您 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
博客将显示包含特定关键字的帖子。
希望对你有帮助。
谢谢,
亚当
【解决方案2】:
我有一个建议给你,使用“Solwin 的 Google 自定义搜索集成”Magento 扩展。
主要特点:
- 使用 Google 搜索算法
- 有助于提高您网站的 SEO
- 适用于多商店环境
- 使用图片改进您的 Google 搜索结果
- 设置 Google 自定义搜索引擎以搜索您的多个网站。
- 通过管理员轻松启用/禁用
- 自定义每页记录数
- 启用/禁用图片搜索
- 您只需填写搜索引擎唯一 ID
- 用您的内置搜索功能轻松替换
- 管理员可以启用/禁用自动完成功能,这让查询更加快速。
- 从管理员启用“订购者”下拉菜单
- 易于配置
您可以轻松安装此扩展程序。
这里可以看看"Google Custom Search Integration By Solwin"