【问题标题】:magento how to get search querymagento 如何获取搜索查询
【发布时间】:2014-11-07 07:24:47
【问题描述】:

我想在 magento 中获取搜索查询。但我不知道从哪里得到它。例如,如果我尝试使用T-shirt 进行搜索。 magento 将搜索该术语并返回匹配的结果。对于这个 magento 搜索数据库中的字符串,例如,

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

所以我想要这个搜索查询。有人知道如何获取最终的 sql 查询吗?

【问题讨论】:

  • 什么?您想查找包含查询的文件的位置吗?
  • 是的,我只想打印那个查询。
  • 我有使用过 Joomla 但没有使用过 Magento 的经验......可能会在浏览器中查看 URL,然后确定它正在执行的视图或模型......

标签: php mysql magento


【解决方案1】:

您可以在此文件夹 app/code/core/Mage/CatalogSearch/ 中获取与搜索相关的所有文件。 Magento 搜索保存未来的查询和缓存和统计的结果。进行查询以将产品集合与搜索结果表结合起来。您可以在此文件中找到更多内容 app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext/Engine.php

希望对你有帮助。

谢谢

【讨论】:

  • 感谢您的回复。我知道这一点。问题是我无法查看最终要运行的 sql 查询。
  • 如果您有相关文件,您可以使用 print_r 和 die() 来获取正在运行的确切查询。
【解决方案2】:

Magento 收集具有大量内部查询的数据 - 模型和大量检查,并且可能超过 1 个表。所以不可能得到我正在寻找的查询。

但我们可以使用以下方法获取集合查询,

Mage::log((string)$collection->getSelect(),null,'test.log',true);

或者只是打印,

$Collection->printLogQuery(true);

【讨论】:

    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 2013-01-30
    • 2011-05-01
    • 1970-01-01
    • 2016-06-18
    相关资源
    最近更新 更多