जवाबों:
ऐसा करने के लिए यहां कुछ नमूना कोड दिया गया है:
function hook_form_alter(&$form, &$form_state, $form_id) {
switch($form_id) {
case 'views_exposed_form':
$allowed_categories = db_query("SELECT 1 as tid, "Term Name (2)" as `name`")->fetchAllKeyed();
$allowed_categories = array_reverse($allowed_categories, TRUE);
$allowed_categories['All'] = '- Any -';
$allowed_categories = array_reverse($allowed_categories, TRUE);
$form['field_category_tid']['#options'] = $allowed_categories;
break;
}
}
केवल 2 कॉलम - tid और एक गिनती के साथ नाम वापस करने के लिए क्वेरी बदलें।
मैं एक के साथ एक मॉड्यूल बनाया hook_form_alter()
।
उस फ़ंक्शन में मैंने एक क्वेरी बनाई जो एक निश्चित टैक्सोनॉमी टर्म से जुड़ी नोड्स को गिना और हर टर्म के अंत में इस नंबर को जोड़ा।
function hook_form_alter(&$form, &$form_state, $form_id) {
switch($form_id){
case 'views_exposed_form':
if ($form_state['view']->name == 'viewname') {
//must add some bool so this doesn't get into infinite loop
if(!isset($form_state['view']->gg)){
$form_state['view']->gg = TRUE;
$form_state['view']->execute();
}
$form['results_count'] = array(
'#markup' => t('!count results match your criteria', array('!count' => '<b>'.$form_state['view']->total_rows.'</b>')),
'#weight' => -99,
);
}
break;
}
}
लिंक की जोड़ी (उपयोगी हो सकती है)
यह मेरी वास्तविक साइट से एक उदाहरण है। field_marka_prochnosti एक टैक्सोनॉमी शब्दावली द्वारा दर्शाए गए नोड का एक क्षेत्र है। मैंने क्वेरी बनाने के लिए किसी तालिका का नाम और उस तालिका के क्षेत्र का नाम जानने के लिए phpMyAdmin का उपयोग किया। bricksale_omega मेरे विषय का नाम है।
function bricksale_omega_form_alter(&$form, &$form_state, $form_id) {
switch($form_id){
case 'views_exposed_form':
foreach ($form['field_marka_prochnosti_tid']['#options'] as $tid => &$value) {
$query = db_select('field_data_field_marka_prochnosti', 'f')
->condition('f.field_marka_prochnosti_tid', $tid);
$query->addExpression('COUNT(*)');
$count = $query->execute()->fetchField();
$value = $value . ' (' . $count . ')';
}
break;
}
}