поиск по каталогу magento добавить счетчик результатов в URL

Я хочу добавить количество результатов в URL поиска. URL по умолчанию как domain.com/catalogsearch/result/?q=queries
Но я хочу добавить результат в URL, как,

`domain.com/catalogsearch/result/?q=queries&count=50`

Я пробовал с нижеуказанным наблюдателем событий

controller_action_layout_render_before_catalogsearch_result_index

а также Observer.php

 <?php
class PackgeName_ModuleName_Model_Observer {
// the product list block name in layout
const RESULT_BLOCK_NAME = 'search_result_list';
public function loadResult(Varien_Event_Observer $observer) {
$currentUrl = Mage::helper ( 'core/url' )->getCurrentUrl ();

$block = Mage::app ()->getLayout ()->getBlock ( self::RESULT_BLOCK_NAME );
if ($block) {

$collection = $block->getLoadedProductCollection ();

/**
* @var Mage_Catalog_Model_Product $product
*/
$count = $collection->getSize ();

$resultUrl = $currentUrl . '&count=' . $count;

if ($resultUrl) {

Mage::app ()->getResponse ()->setRedirect ( $resultUrl );
exit (); // stop everything else
}
}
}
}

Но проблема в том, что его снова сработало. Так что идти в бесконечный цикл. Любая идея, чтобы решить эту проблему или есть ли способ достичь этого? Пожалуйста, помогите мне..

1

Решение

Просто добавьте проверку, что счетчик не указан в URI запроса:

    public function loadResult(Varien_Event_Observer $observer) {

$count = Mage::app()->getRequest()->getParam('count');

if (!$count){

$currentUrl = Mage::helper ( 'core/url' )->getCurrentUrl ();

$block = Mage::app ()->getLayout ()->getBlock ( self::RESULT_BLOCK_NAME );
0

Другие решения

Я не знаю, правильный ли это ответ, так как я новичок в Magento.
Но я добавил текстовое поле в моем form.mini.phtml и поместил его ниже текстового поля «q», как это

<input type="text" id="abc" name="abc" value="" >

и это приведет:
domain.com/catalogsearch/result/?q=queries&ABC =

0

По вопросам рекламы [email protected]