Example #1
0
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>