sách gpt4 ai đã đi

Magento:管理 - 产品搜索过滤器

In lại 作者:行者123 更新时间:2023-12-02 15:53:36 37 4
mua khóa gpt4 Nike

我正在为一位拥有 Magento 商店的客户工作。里面塞满了产品,但这些产品的名称有点乱。他并没有坚持一种命名约定,而是多年来使用了不同的约定。因此,每当他使用“管理”->“管理产品”部分中的“名称”过滤器查找某些内容时,结果都不尽如人意。

所以我想知道是否有一种方法可以使过滤算法更加宽松一点,特别是在词序方面。因为如果您的产品名称类似于“word1 word2 word3”,并且您搜索“word1 word3”,则该产品不会出现在结果中。

任何提示将不胜感激。干杯!

8 月 28 日更新: 我的搜索引导我找到了 *Mage_Adminhtml_Block_Widget_Grid* 类,更准确地说,找到了它的 protected 方法 *_addColumnFilterToCollection()*。在这里你有 $cond 变量,如果你打印出来它会给你这样的东西:

Array ([like] => Zend_Db_Expr Object([_expression:protected] => '%search term%' ))

如果我可以在将搜索词提交到 *Zend_Db_Expr* 对象之前拦截该搜索词并将其放入“%search%term%”中,我可能会解决我的问题。那么,有什么想法吗?

1 Câu trả lời

这需要编写一个具有一定复杂性的自定义模块。

Phải word1 word3 的过滤应该至少返回匹配的子集,而按 word1 word2 word3 的过滤确实会返回,这一期望是基于错误的假设Magento 确实执行 OR 搜索此网格过滤器。

事实并非如此。在这种情况下,Magento 不执行 OR,而是执行 GIỐNG 搜索。

这也解释了为什么 a 的结果集

LIKE name = '%word1 word2 word3%'

nói chung là永远不会*可以匹配a的结果集

LIKE name = '%word1 word3%'

Tôi nghĩ Mage_Adminhtml_Block_Catalog_Product_Grid::_prepareCollection() 将是您的代码需要覆盖的最低限度,以便您开始。

Chúc may mắn!

<小时>

* 当然,除了word2 == word3

关于Magento:管理 - 产品搜索过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969777/

37 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com