Magento - использование результатов разбивки панели инструментов для пользовательского запроса с подачей формы - PullRequest
0 голосов
/ 13 октября 2011

Я надеюсь, что это простое исправление для кого-то, кто лучше разбирается в настройке Magento ...

У меня есть пользовательская форма поиска (на home.phtml) и страница результатов (загрузка cms customresults.phtml), которая возвращает отфильтрованную коллекцию продуктов на основе данных POST, введенных в форму.

Процесс: Форма> Значения POST> множественные вычисления, основанные на запросе POST> MySQL (core_read), основанные на результатах вычислений> массив идентификаторов продуктов (ниже называемый $ wow), основанный на запросе

Тогда:

$collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')->addAttributeToFilter('entity_id', array('in'=>$wow))
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection)
$magento_block = Mage::getSingleton('core/layout');
$productsHtml  = $magento_block->createBlock('catalog/product_list');
$productsHtml ->setTemplate('catalog/product/list.phtml')->setCollection($collection);
echo $productsHtml ->toHTML();

Страница результатов прекрасно загружается с отображением правильных продуктов. Панель инструментов загружается и выглядит нормально.

ПРОБЛЕМА: при изменении любого параметра на панели инструментов на странице результатов страница перезагружается, и у нас не остается результатов поиска.

Я предполагаю, что перезагрузка убивает значения POST ...

Есть ли способ (A) обойти перезагрузку страницы для функциональности панели инструментов? Или, альтернативно, возможно ли каким-либо образом (B) сохранить опубликованные данные или (C) принудительно повторно представить данные при перезагрузке?

Любые советы будут искренне оценены.

1 Ответ

0 голосов
/ 14 октября 2011

Решил проблему, используя метод GET вместо POST.

Не то решение, которое я хотел, но это простой обходной путь.На всякий случай, если у кого-то еще есть подобная проблема.

...