} else if($mode == 'ajax') { //Имя нашего мода в контролере
// Проверяем или есть номер категории и идет ли запрос от ajax, а не на прямую
if(is_numeric($_REQUEST['category_id']) AND defined('AJAX_REQUEST'))
{
// Задаем параметры (если нужны еще поищите их где определяется функция
// fn_get_products, их там очень много
$params = array(
'cid' => $_REQUEST['category_id'],
'extend' => array('categories', 'description')
);
//Кешируем данные
$cache_name = 'product_list/cat_'.$params['cid'];
Registry::register_cache($cache_name, array('static_data', 'products','pages'), CACHE_LEVEL_LOCALE_AUTH);
if (Registry::is_exist($cache_name) == false) {
//Получаем продукцию
list($product_list) = fn_get_products($params);
Registry::set($cache_name, $product_list);
}
//Берем данные из кеша.
$product_list = & Registry::get($cache_name);
//Регистрируем ajax, тем самым его передаем в формате json
Registry::get('ajax')->assign('product_list', $product_list);
exit;
}
}