Php 访问Magento中的搜索结果对象

Php 访问Magento中的搜索结果对象,php,magento,Php,Magento,我正在Magento商店上实现google tag manager,我需要在数据层中为搜索词和搜索结果的数量添加一个标记 我可以使用以下方法获取搜索文本: Mage::helper('catalogsearch')->getQueryText(); 但我不知道如何获得返回的结果数。我试过使用 $search = Mage::getSingleton('catalogsearch/advanced')->getProductCollection(); 但这是行不通的。谁能给我指出正

我正在Magento商店上实现google tag manager,我需要在数据层中为搜索词和搜索结果的数量添加一个标记

我可以使用以下方法获取搜索文本:

Mage::helper('catalogsearch')->getQueryText();
但我不知道如何获得返回的结果数。我试过使用

$search = Mage::getSingleton('catalogsearch/advanced')->getProductCollection();
但这是行不通的。谁能给我指出正确的方向吗

试试这个:

$size = Mage::getSingleton('catalogsearch/advanced')->getProductCollection()->getSize();

下面是允许我获取搜索结果集合的代码

    $term = Mage::helper('catalogsearch')->getQueryText();
    $collection = Mage::getResourceModel('catalogsearch/query_collection')->setQueryFilter($term)->getData();
    $results = $collection[0]['num_results'];
    return json_encode($results);

另外,请记住,有一个magento stackexchange网站可以帮助您解决未来的问题:它返回107个我认为在我的目录中都是简单的产品(总共113个产品-6个可配置=107)。我可以根据搜索词筛选集合吗?我没有使用搜索创建集合,我只是筛选了集合中需要的属性。但是如果您的代码返回产品集合,那么getSize应该可以工作。您确定107不是预期的数字吗?搜索词在哪里?问题是,我不知道搜索词是什么。查看toolbar.phtml,我看到了对
$this->getTotalNum())
的调用,它在toolbar.php中调用了`public function getTotalNum(){return$this->getCollection()->getSize();}`正确的数字。我如何在该区块之外访问$this?不用麻烦去Magento StackExchange站点。它具有从低到空的支持,特别是在像这样的重要特性上。主StackOverflow站点有一个更广泛的magento社区。我不确定您的方法是否加载整个集合。如果你需要的只是尺寸,你不想把整个东西都装进去。您是否尝试过
$collection[0]->getSize()