/** * Adds selected filter ranges to the breadcrumbs * * @param array $request Request data * @param string $url Breadcrumb url * @return boolean Always true */ function fn_add_filter_ranges_breadcrumbs($request, $url = '') { /** * Adds additional actions before adding filter ranges breadcrumbs * * @param array $request Request data * @param string $url Breadcrumb url */ fn_set_hook('add_filter_ranges_breadcrumbs_pre', $request, $url); if (empty($request['features_hash'])) { return false; } $parsed_ranges = fn_parse_features_hash($request['features_hash'], false); if (!empty($parsed_ranges[1])) { $features_hash = ''; $last_type = array_pop($parsed_ranges[1]); $last_range_id = array_pop($parsed_ranges[2]); if (!empty($parsed_ranges)) { foreach ($parsed_ranges[1] as $k => $v) { $range = fn_get_filter_range_name($v, $parsed_ranges[2][$k]); $features_hash = fn_add_range_to_url_hash($features_hash, array('range_id' => $parsed_ranges[2][$k]), $v); fn_add_breadcrumb(html_entity_decode($range, ENT_COMPAT, 'UTF-8'), "{$url}&features_hash=" . $features_hash . (!empty($request['subcats']) ? '&subcats=Y' : ''), true, true); } } $range = fn_get_filter_range_name($last_type, $last_range_id); fn_add_breadcrumb(html_entity_decode($range, ENT_COMPAT, 'UTF-8'), '', false, true); } /** * Adds additional actions after adding filter ranges breadcrumbs * * @param array $request Request data * @param string $url Breadcrumb url */ fn_set_hook('add_filter_ranges_breadcrumbs_post', $request, $url); return true; }
function fn_add_filter_ranges_breadcrumbs($request, $url = '') { if (empty($request['features_hash'])) { return false; } $parsed_ranges = fn_parse_features_hash($request['features_hash'], false); if (!empty($parsed_ranges[1])) { $features_hash = ''; $last_type = array_pop($parsed_ranges[1]); $last_range_id = array_pop($parsed_ranges[2]); if (!empty($parsed_ranges)) { foreach ($parsed_ranges[1] as $k => $v) { $range = fn_get_filter_range_name($v, $parsed_ranges[2][$k]); $features_hash = fn_add_range_to_url_hash($features_hash, array('range_id' => $parsed_ranges[2][$k]), $v); fn_add_breadcrumb(html_entity_decode($range), "{$url}&features_hash=" . $features_hash . (!empty($request['subcats']) ? '&subcats=Y' : '')); } } $range = fn_get_filter_range_name($last_type, $last_range_id); fn_add_breadcrumb(html_entity_decode($range)); } return true; }