function md_orenmode_preprocess_commerce_product_expose(&$vars) { $query_parameters = drupal_get_query_parameters(); $has_fitler = FALSE; $form = $vars['form']; if (isset($form['colors'])) { $vars['colors'] = array(); $v = taxonomy_vocabulary_machine_name_load('product_color'); $colors = taxonomy_get_tree($v->vid, 0, NULL, TRUE); foreach ($colors as $color) { $vars['colors'][$color->tid] = array('rgb' => $color->field_color[LANGUAGE_NONE][0]['rgb'], 'checked' => isset($query_parameters['colors']) && is_array($query_parameters['colors']) && in_array($color->tid, $query_parameters['colors'])); } $has_fitler = TRUE; } if (isset($form['sizes'])) { $count_size = orenmode_config_count_node_by_product_size(); $vars['sizes'] = array(); $v = taxonomy_vocabulary_machine_name_load('product_size'); $sizes = taxonomy_get_tree($v->vid, 0, NULL, TRUE); foreach ($sizes as $size) { $vars['sizes'][$size->tid] = array('name' => $size->name, 'checked' => isset($query_parameters['sizes']) && is_array($query_parameters['sizes']) && in_array($size->tid, $query_parameters['sizes']), 'count' => isset($count_size[$size->tid]) ? $count_size[$size->tid] : 0); } $has_fitler = TRUE; } if (isset($form['categories'])) { $count_categories = orenmode_config_count_node_by_product_categories(); $vars['categories'] = array(); $v = taxonomy_vocabulary_machine_name_load('product_categories'); $categories = taxonomy_get_tree($v->vid, 0, NULL, TRUE); foreach ($categories as $category) { $vars['categories'][$category->tid] = array('name' => $category->name, 'checked' => isset($query_parameters['categories']) && is_array($query_parameters['categories']) && in_array($category->tid, $query_parameters['categories']), 'count' => isset($count_categories[$category->tid]) ? $count_categories[$category->tid] : 0); } $has_fitler = TRUE; } $vars['GET'] = $query_parameters; $vars['hasFitler'] = $has_fitler; if ($has_fitler) { $vars['theme_hook_suggestions'][] = 'commerce_product_expose__filter'; } else { $vars['theme_hook_suggestions'][] = 'commerce_product_expose__sort'; } $vars['theme_hook_original'] = 'commerce_product_expose__filter'; $price_min = variable_get('gprice_min', 0); $price_max = variable_get('gprice_max', 10000); $settings['price_min'] = isset($query_parameters['price_min']) && !empty($query_parameters['price_min']) ? $query_parameters['price_min'] : $price_min; $settings['price_max'] = isset($query_parameters['price_max']) && !empty($query_parameters['price_max']) ? $query_parameters['price_max'] : $price_max; $settings['config_price_min'] = $price_min; $settings['config_price_max'] = $price_max; $settings['currentFilters'] = empty($query_parameters) ? new stdClass() : $query_parameters; $settings['baseUrl'] = $GLOBALS['base_url'] . '/' . current_path(); drupal_add_js(array('orenmodePrice' => array('setting' => $settings)), 'setting'); drupal_add_js(drupal_get_path('theme', 'md_orenmode') . '/js/front/custom/product-filters.js'); }
<?php $count_categories = orenmode_config_count_node_by_product_categories(); ?> <li> <a href="<?php print url('taxonomy/term/' . $fields['tid']->content); ?> "> <?php print $fields['name']->content; ?> (<?php print isset($count_categories[$fields['tid']->content]) ? $count_categories[$fields['tid']->content] : 0; ?> ) </a> </li>