3 টি দৃশ্য ঘোষিত হ্যান্ডলারকে চিনতে পারে না। কেন না?


12

মডিউলগুলিতে / অ্যাড্রেসফিল্ড / অ্যাড্রেসফিল্ড.মডিউল আমার কাছে রয়েছে:

/**
 * 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,
      ),
    );
  }
}

মডিউল / অ্যাড্রেসফিল্ড / ভিউ / অ্যাড্রেসফিল্ড.ভিউস.সিঙ্ক:

/**
 * 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-alpha1', সুতরাং আপনি 3 ব্যবহার করতে পারবেন না You আপনার নিজের মতামতের অনুলিপিটি ভাগ করা উচিত, কারণ এটি ভবিষ্যতের;)
ড্যানিয়েল ওয়েহনার

লগগুলিতে এটি "নোটিশ: আনইনটিয়ালাইজড স্ট্রিং অফসেট হিসাবে দেখানো হয়েছে: ভিউ_জেট_হ্যান্ডলার () এ 1" হিসাবে এখানে দেখানো হয়েছে এই সমস্যাটি আমার ছিল তাই যদি কেউ অনুসন্ধান করে যে তারা এই সহায়ক পৃষ্ঠাটি খুঁজে পাবে find
জেরেমি ফরাসি

কেবলমাত্র একটি টিপ: একবার "ড্রাশ ভিডি" চালান ... হ্যান্ডলাররা যদি কোনওভাবে অনুপস্থিত থাকে তবে এটি আপনাকে কিছু ডিবাগ বার্তা প্রদর্শন করবে।
ড্যানিয়েল ওয়েহনার

উত্তর:


22

কোন মূল সংস্করণ? ড্রুপাল 7-এ, হুক_ভিউ_হ্যান্ডলারগুলি () চলে গেছে, এর পরিবর্তে আপনার ফাইলগুলিকে আপনার .info ফাইলে যুক্ত করুন।

files[]=views/addressfield_views_handler_field_country.inc

এটি আসলে
ভিউজ

আপনি মনে করেন যে দ্রুপাল একটি ওয়াচডগ সতর্কতা প্রেরণ করতে পারে যে এটি ফাইলটি লোড করবে না কারণ এটি শ্বেত তালিকাভুক্ত নয়। আমি এটির পিছনে পিছনে পিছনে সময় কাটাতে শুকানো উচিত।
জন ফ্র্যাঙ্কলিন

.In ফাইল ছাড়াও আমাকে আমার .YNFO ফাইলে আমার MYMODULE.views.inc ফাইলটি অন্তর্ভুক্ত করতে হয়েছিল। যে কারণ হতে পারে কোন কারণ? যদি আমি এটি অন্তর্ভুক্ত না করি তবে আমার ভিউ প্লাগইন সনাক্ত করা যায় না।
কেভেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.