मॉड्यूल / एड्रेसफ़ील्ड / एड्रेसफ़ील्ड में। मेरे पास:
/**
* Implements hook_views_api().
*/
function addressfield_views_api() {
return array(
'api' => 3,
'path' => drupal_get_path('module', 'addressfield') . '/views',
);
}
तथा
/**
* Implements hook_field_views_data_alter
*
* @param mixed $result
* @param mixed $field
*/
function addressfield_field_views_data_alter (&$result, $field) {
if (array_key_exists('field_data_field_address', $result)) {
$result['field_data_field_address']['field_address_country'] += array(
'title' => t('Country'),
'help' => t('The Country name of the field'),
'field' => array(
'handler' => 'addressfield_views_handler_field_country',
'click sortable' => TRUE,
),
);
}
}
मॉड्यूल / एड्रेसफील्ड / विचार / addressfield.views.inc में:
/**
* Implementation of hook_views_handlers().
*/
function addressfield_views_handlers() {
return array(
'info' => array(
'path' => drupal_get_path('module', 'addressfield') . '/views',
),
'handlers' => array(
'addressfield_views_handler_field_country' => array(
'parent' => 'views_handler_field',
),
),
);
}
कैश खाली करने पर यह फ़ाइल डीबगर में चालू नहीं होती है। मुझे यह समझ में नहीं आता है।
हैंडलर मॉड्यूल / एड्रेसफ़ील्ड / व्यू / एड्रेसफ़ील्ड_हैंड्स_हैंडलर_फ़ील्ड_क्राउनट्री में है जो मैंने लोकेशन मॉड्यूल से लिया था:
/**
* @file
* Country field handler.
*/
class addressfield_views_handler_field_country extends views_handler_field {
function option_definition() {
$options = parent::option_definition();
$options['style'] = array('default' => 'name');
return $options;
}
function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$form['style'] = array(
'#title' => t('Display style'),
'#type' => 'select',
'#options' => array('name' => t('Country name'), 'code' => t('Country code')),
'#default_value' => $this->options['style'],
);
}
function render($values) {
return check_plain(strtoupper($values->{$this->field_alias}));
}
}
यह काम करने के लिए कैसे प्राप्त करने के बारे में कोई सलाह उपयोगी होगी। धन्यवाद।
बस एक सामान्य टिप्पणी। विचारों का वर्तमान एपीआई संस्करण '3.0-अल्फ़ा 1' है, इसलिए आप 3 का उपयोग नहीं कर सकते हैं। आपको अपने विचारों की प्रतिलिपि साझा करनी चाहिए, क्योंकि यह भविष्य से है;)
—
डैनियल वेनर
मुझे यह समस्या यह थी कि यह लॉग में "सूचना: अनइंस्टाल्यूटेड स्ट्रिंग ऑफ़सेट: 1 इन व्यू_गेट_हैंडलर ()" के रूप में दिखाई दे रही है, इसलिए यदि कोई व्यक्ति इसके लिए खोज करता है तो उसे यह उपयोगी पृष्ठ मिलेगा।
—
जेरेमी फ्रेंच
बस एक टिप: "ड्रश वीड" को एक बार निष्पादित करें ... यह आपको कुछ डिबग संदेश दिखाएगा यदि हैंडलर किसी भी तरह से गायब हैं।
—
डैनियल वेनर