По ссылкам прошелся, с отправкой запросов аяксом проблем нет, а вариант с json я еще вчера нашел, но надобности в нем нет, так как я решил просто обновить блок с фильтром и вроде все просто но не пашет. Что то я не правильно делаю.
Для фильтра сделал шаблон _filters.phtml (catalog/category/_filters.phtml) что бы вынести общую часть отдельно.
В нем у меня
$_filters = $this->getFilters();
//далее в цикле пробегаюсь по фильтрам и строю элементы
В local.xml такой код
<reference name="content">
<remove name="category.products" />
<block type="catalog/category_view" name="category-top" template="catalog/category/top.phtml">
</block>
<block type="core/template" name="category-selection" template="catalog/category/selection.phtml">
<block type="catalog/layer_view" name="catalog.filters" template="catalog/category/_filters.phtml"></block>
</block>
<block type="catalog/product_list" name="category-products" template="catalog/category/products.phtml">
</block>
</reference
Основной тут category-selection
Именно в нем идет вызов catalog.filters для отображения фильтра
Это то что грузится при старте страницы.
Теперь мне надо аяксом обновить фильтр
Для этого сделал filters_ajax.phtml с таким кодом
echo
Mage::getSingleton('core/layout')
->createBlock(
'module/block_name'
,
''
,
array (
"param1" => $value1
)
)
->setTemplate ('module/template.phtml')
->renderView ()
;
и этот код работает если его вставить например в category-selection.
Далее я сделал cms/page к которой и обращаюсь для обновления фильтра
В cms/page у меня "Layout Update XML"
<reference name="content">
<remove name="page_content_heading" />
<remove name="cms.wrapper" />
<block type="catalog/product_list" name="category_ajax" template="catalog/category/filters_ajax.phtml"/>
</reference>
Запрос проходит нормальный но фильтр не строится так как метод getItems у $_filter пустой.
Почему так? В одном случае когда приложение отрабатывает стандартно все ок, а в другом нет? Явно какие то процессы не отрабатывают.
Пробовал через метод контроллера вызывать тот же эффект.
Пробовал напрямую объект создавать и опять нечего.
Блин 12 час идет борьбы с этой задачей и вроде все просто а к финишу все не приду