if (!empty($_REQUEST['advanced_filter']) && $_REQUEST['advanced_filter'] == 'Y') { list($filters) = fn_get_filters_products_count($_REQUEST); $view->assign('filter_features', $filters); } // [Breadcrumbs] $parent_ids = explode('/', $category_data['id_path']); array_pop($parent_ids); if (!empty($parent_ids)) { $cats = fn_get_category_name($parent_ids); foreach ($parent_ids as $c_id) { fn_add_breadcrumb($cats[$c_id], "categories.view?category_id={$c_id}"); } } fn_add_breadcrumb($category_data['category'], empty($_REQUEST['features_hash']) && empty($_REQUEST['advanced_filter']) ? '' : "categories.view?category_id={$_REQUEST['category_id']}"); if (!empty($params['features_hash'])) { fn_add_filter_ranges_breadcrumbs($params, "categories.view?category_id={$_REQUEST['category_id']}"); } elseif (!empty($_REQUEST['advanced_filter'])) { fn_add_breadcrumb(fn_get_lang_var('advanced_filter')); } // [/Breadcrumbs] } else { return array(CONTROLLER_STATUS_NO_PAGE); } } elseif ($mode == 'picker') { $category_count = db_get_field("SELECT COUNT(*) FROM ?:categories"); if ($category_count < CATEGORY_THRESHOLD) { $params = array('simple' => false); list($categories_tree, ) = fn_get_categories($params); $view->assign('show_all', true); } else { $params = array('category_id' => $_REQUEST['category_id'], 'current_category_id' => $_REQUEST['category_id'], 'visible' => true, 'simple' => false);
$cats = fn_get_category_name($parent_ids); foreach ($cats as $c_id => $c_name) { fn_add_breadcrumb($c_name, "categories.view?category_id={$c_id}"); } } } list(, $view_all_filter) = fn_get_filters_products_count($params); fn_add_breadcrumb(db_get_field("SELECT filter FROM ?:product_filter_descriptions WHERE filter_id = ?i AND lang_code = ?s", $params['filter_id'], CART_LANGUAGE)); Registry::get('view')->assign('params', $params); Registry::get('view')->assign('view_all_filter', $view_all_filter); } elseif ($mode == 'view') { $variant_data = fn_get_product_feature_variant($_REQUEST['variant_id']); Registry::get('view')->assign('variant_data', $variant_data); if (!empty($_REQUEST['features_hash']) || !empty($_REQUEST['advanced_filter'])) { fn_add_breadcrumb($variant_data['variant'], "product_features.view?variant_id={$_REQUEST['variant_id']}"); fn_add_filter_ranges_breadcrumbs($_REQUEST, "product_features.view?variant_id={$_REQUEST['variant_id']}"); } else { fn_add_breadcrumb($variant_data['variant']); } // Override meta description/keywords if (!empty($variant_data['meta_description']) || !empty($variant_data['meta_keywords'])) { Registry::get('view')->assign('meta_description', $variant_data['meta_description']); Registry::get('view')->assign('meta_keywords', $variant_data['meta_keywords']); } // Override page title if (!empty($variant_data['page_title'])) { Registry::get('view')->assign('page_title', $variant_data['page_title']); } fn_define('FILTER_CUSTOM_ADVANCED', true); // this constant means that extended filtering should be stayed on the same page $params = $_REQUEST;