প্রোগ্রামিয়ালি ফিল্ডস কীভাবে তৈরি করবেন?


56

ড্রুপাল in-এ আমি কীভাবে নিম্নলিখিতগুলি প্রয়োগ করতে পারি?

আমাকে যা করতে হবে তা হল একটি মডিউল তৈরি করা যা একটি নতুন ক্ষেত্র সত্তাকে সংজ্ঞায়িত করে, যার নাম 'সংস্থা'। আমার একটি তালিকা রয়েছে, যাক, আমরা বলি যে, 20 টি ক্ষেত্র যা প্রতিটি সংস্থার উদাহরণ দ্বারা পূরণ করা প্রয়োজন। এই প্রশ্নগুলি পূর্বনির্ধারিত এবং কিছুতে কাস্টম বৈধতা থাকতে পারে।

এই মুহুর্তে, আমি সেই সময়ে পৌঁছে যাচ্ছি যখন আমি কোম্পানির সত্তায় নতুন ক্ষেত্র যুক্ত করতে পারি। এই মুহুর্তে এটি কাজ করে। আমার সমস্যাটি হ'ল মডিউলটি ইনস্টল হওয়ার সাথে সাথে আমার এই সমস্ত ক্ষেত্রগুলি থাকা উচিত, সুতরাং ইন্টারফেসের মাধ্যমে সেগুলি যুক্ত করা কোনও বিকল্প নয়।

আমি ভাবছিলাম কীভাবে আমি এটির কাছে যেতে পারি? আমি ধরে নেব যে এটি 'ক্ষেত্রগুলি পরিচালনা করুন' ইউআইআই প্রোগ্রামগতভাবে যা করা যায় তা করতে সক্ষম হয়ে আসবে।


আমি আপনার প্রয়োজনগুলির সম্পূর্ণ সুযোগ সম্পর্কে পরিষ্কার নয়, তবে আমি মনে করি যে এই থ্রেডটি আপনার পক্ষে কার্যকর হবে: drupal.org/node/721552 এটি মডিউল ইনস্টল হওয়ার পরে ক্ষেত্রগুলি সহ একটি কাস্টম সামগ্রী প্রকার তৈরির জন্য নমুনা কোড দেখায়। আপনার প্রয়োজন ঠিক ক্ষেত্র সেটিংস পেতে আপনাকে সম্ভবত API টি খনন করতে হবে, তবে এটি একটি সূচনা পয়েন্ট হতে পারে। মূলত, আপনার অবশ্যই তদন্ত করা উচিত node_type_set_defaults()এবং node_type_save()পাশাপাশি অবশ্যই hook_install(),।
হ্যান্ডসফেটেন

আপনি যদি বৈশিষ্ট্যগুলির বিপরীতে কোডে এটি করছেন, উদাহরণস্বরূপ প্রকল্পের ক্ষেত্রের উদাহরণ এবং নোড উদাহরণটি একবার দেখুন ।
rfay

গাইডেন্সের কয়েকটি কথা। আপনি যদি ক্ষেত্রগুলির কনফিগারেশনের উপর নিয়ন্ত্রণের একটি স্তর ধরে রাখতে চান তবে সেগুলি রেকর্ড এবং প্রয়োগ করতে বৈশিষ্ট্যগুলি ব্যবহার করুন। আপনি যদি ওয়ান-শট ক্রিয়াকলাপ হিসাবে তাদের সংজ্ঞা দিতে চান এবং ভবিষ্যতে তাদের কনফিগারেশনটি অবাধে ওভাররাইড করাতে চান তবে একটি ইনস্টল করা ফাইলটিতে একটি কোড সমাধান চয়ন করুন।
আলফ্রেড আর্মস্ট্রং

উত্তর:


41

ব্যবহার করুন field_create_field () ক্ষেত্রে মান এবং তৈরি করার field_create_instance () দেওয়া সত্তা বান্ডেলের জন্য একটি দৃষ্টান্ত আছে।

কাস্টম মডিউলের অংশ হিসাবে ক্ষেত্রগুলি তৈরি করার সময়, মডিউলটি আনইনস্টল করার সময় আপনি ক্ষেত্রটি মুছতে বা নাও পেতে পারেন। এটি করতে, আপনি যদি ক্ষেত্রটি এবং সমস্ত ক্ষেত্রের উদাহরণ মুছতে চান তবে আপনি ফিল্ড_ডিলিট_ফিল্ড () ব্যবহার করতে পারেন , বা যদি আপনি নির্দিষ্ট দৃষ্টান্ত মুছতে চান তবে আপনি ফিল্ড_ডিলিট_ইনস্ট্যান্স () ব্যবহার করতে পারেন ।


মডিউল আনইনস্টল করার সময় আমরা যে ক্ষেত্রগুলি তৈরি করেছি তা কীভাবে মুছব?
অশোক কেএস

অশোক, আমি স্রেফ উত্তরে আমি একটি সম্পাদনা করেছি আপনার জন্য একটি ব্যাখ্যা যোগ করেছি।
লেস্টার পিবডি

9

ব্যবহারকারীর প্রোফাইলে কীভাবে প্রোগ্রাম যুক্তভাবে ক্ষেত্র যুক্ত করতে হয় এবং কীভাবে সেগুলি ব্যবহারকারী রেজিস্ট্রেশন ফর্মের ক্ষেত্রে ব্যবহার করা যায় বা কীভাবে হয় তার উদাহরণ।


function MYMODULE_enable() {
  // Check if our field is not already created.
  if (!field_info_field('field_myField')) {

    // Create the field base.
    $field = array(
      'field_name' => 'field_myField', 
      'type' => 'text', 
    );
    field_create_field($field);

    // Create the field instance on the bundle.
    $instance = array(
      'field_name' => 'field_myField', 
      'entity_type' => 'user', 
      'label' => 'My Field Name', 
      'bundle' => 'user', 
      // If you don't set the "required" property then the field wont be required by default.
      'required' => TRUE,
      'settings' => array(
        // Here you inform either or not you want this field showing up on the registration form.
        'user_register_form' => 1,
      ),
      'widget' => array(
        'type' => 'textfield',
      ), 
    );
    field_create_instance($instance);
  }
}

3
এটি হুক_ইনস্টল () এ প্রয়োগ করা উচিত।
revagomes

যদি আপনি যা করতে চান তা হ'ল কোনও বিদ্যমান সামগ্রীর ধরণের ক্ষেত্রে একটি নতুন ক্ষেত্র যুক্ত করা এবং সেখান থেকে ব্যাকএন্ডে চালিয়ে যাওয়া, সেই পদ্ধতির সম্পূর্ণরূপে ঠিক। মডিউলটি সক্রিয় করুন, এটি নিষ্ক্রিয় করুন, হয়ে গেছে। নতুন ক্ষেত্রটি সেখানে রয়েছে, সম্পাদনাযোগ্য, মডিউলটি মোছা যায়।
লেইম্যানেক্স

8

আপনার যদি ইউআই বা প্রোগ্রামিং না ব্যবহার করে কোনও বিদ্যমান সামগ্রীর ধরণ বা সত্তা থেকে দ্রুত ক্ষেত্রগুলি তৈরি বা মুছতে হয় তবে আপনি এই অল্প-পরিচিত Drষধ আদেশগুলি ব্যবহার করতে পারেন:

drush field-create <bundle(for nodes)> <field_name>,<field_type>,[widget_name] --entity_type: সত্তার ধরণ (যেমন নোড, ব্যবহারকারী, মন্তব্য)। নোডের ডিফল্ট।

উদাহরণস্বরূপ: নিবন্ধের জন্য দুটি নতুন ক্ষেত্র তৈরি করুন:

drush field-create article city,text,text_textfield subtitle,text,text_textfield

অন্যান্য আদেশ:

drush field-delete <field_name> [--bundle] [--entity_type]
drush field-info [field | types]
drush field-update <field_name> Return URL for field editing web page.
drush field-clone <source_field_name> <dst_field_name>

4

অন্যদের নির্দেশিত হিসাবে, আপনি ক্ষেত্র এবং আপনার সামগ্রীর ধরণের জন্য উদাহরণগুলি তৈরি করতে আপনার মডিউলটির hook_install () বাস্তবায়ন থেকে ফিল্ড এপিআই ফাংশন ব্যবহার করতে পারেন । ফাংশনটির উদাহরণস্বরূপ নোড_সেম্পল_ইনস্টল () দেখুন ।

আরেকটি সমাধান হ'ল বৈশিষ্ট্য মডিউলটি ব্যবহার করা । বৈশিষ্ট্যগুলি মডিউলে কোডে বিভিন্ন সাইট উপাদান রফতানি করতে পারে। সামগ্রীর প্রকার এবং ক্ষেত্রগুলি এই রফতানিযোগ্যগুলির মধ্যে রয়েছে। আপনি হয় কোনও বৈশিষ্ট্য মডিউল তৈরি করতে পারেন এবং আপনার বিদ্যমান কোডটিকে ওভাররাইড করতে পারেন, তারপরে বৈশিষ্ট্যগুলি আপনার কোডটি ভঙ্গ করা এড়াতে সর্বোত্তম চেষ্টা করবে। অথবা আপনি একটি ডামি মডিউল তৈরি করতে পারেন এবং আপনার মডিউলে ক্ষেত্র-সম্পর্কিত কোডটি অনুলিপি করতে পারেন / এর জন্য বৈশিষ্ট্যগুলি কীভাবে কাজ করে তা বুনিয়াদি বোঝার প্রয়োজন।


3

আপনার ইনস্টল করা ফাইলটিতে আপনাকে 'হুক_ইনস্টল' এবং 'হুক_উনস্টল' উভয়ই সংজ্ঞায়িত করতে হবে। উদাহরণ অন্তর্ভুক্ত তবে এপিআই রেফারেন্সগুলিতে অতিরিক্ত কীগুলি সম্পর্কে সমস্ত পড়ুন (কোডটি অনির্ধারিত হয় যাতে সেখানে টাইপগুলি থাকতে পারে)।

এর মধ্যে hook_installআপনি ক্ষেত্রগুলি ব্যবহার করে যোগ করতে পারেন:

ফিল্ড_ক্রিয়েট_ফিল্ড , এই ফাংশনটি একটি ক্ষেত্রের জন্য একটি টেম্পলেট তৈরি করে।

ক্ষেত্র_ক্রেট_ইনস্ট্যান্স ক্ষেত্রটি তৈরি করার পরে বিষয়বস্তু_প্রকারগুলিতে যুক্ত করতে (এটি বান্ডেল নামেও পরিচিত) ব্যবহার করা যেতে পারে।

দ্রষ্টব্য বিভিন্ন ক্ষেত্রের প্রকারের নামগুলি তাদের তৈরি করা মডিউলগুলিতে পাওয়া যাবে (এটি তাদের হুক_ফিল্ড_ইনফোতে অ্যারে আইটেমের কী)। মডিউল / ক্ষেত্র / মডিউল ফোল্ডারে আপনি সমস্ত মূল ক্ষেত্র প্রয়োগকারী মডিউলগুলি সন্ধান করতে পারেন।

ক্ষেত্রের মডিউলগুলি থেকে সেটিংসও নেওয়া যেতে পারে। আপনি যে সেটিংসটি সেট করেছেন সেটি field_create_fieldহ'ল সাইট বিস্তৃত। আপনি যা সেট করেছেন field_instance_createসেটি হ'ল নোড_ টাইপ নির্দিষ্ট specific

    MY_MODULE_install(){
      // Generate the base for the field
      $field = array( 
        'field_name' => 'FIELD_MACHINE_NAME', 
        'type' => 'FIELD_TYPE' // See note above for what to put here
      );
      // Instance 
      $instance = array(
        'field_name' => 'FIELD_MACHINE_NAME', 
        'entity_type' => 'node', 
      ); 

      // Create instances of the field and add them to the content_types
      $node_types = node_type_get_types(); 
      foreach($node_types as $node_type){
         $instance['bundle'] = $node_type->type; 
         field_create_instance($instance); 
      }
    }

মধ্যে hook_uninstall

ফিল্ড_ডিলিট_ইনস্ট্যান্স এবং ফিল্ড_ডিলেট_ফিল্ডগুলি এগুলি আবার সরাতে ব্যবহার করা যেতে পারে, field_delete_fieldআপনি যদি সর্বশেষ ঘটনাটি (সাধারণত) মুছে ফেলেন তবে স্বয়ংক্রিয়ভাবে বলা হয়।

    MY_MODULE_uninstall(){
      $node_types = node_type_get_types(); 
      foreach($node_types as $node_type){
        if($instance = field_info_instance('node', 'FIELD_MACHINE_NAME', $node_type->type)) {
          field_delete_instance($instance);
        }
      }
    }

2

আমার সম্প্রতি একটি প্রকল্পের জন্য একইরকম প্রয়োজন ছিল, আমি এখানে এটি কীভাবে পৌঁছেছি আশা করি এটি কারও সাহায্য করবে।

মূলত আপনি আপনার ক্ষেত্রগুলি ইউআই ব্যবহার করে প্রয়োজনীয় ক্ষেত্রগুলি তৈরি করবেন, কোডগুলিতে সেগুলি রফতানি করুন এবং সেগুলি আপনার কাস্টম মডিউলে অন্তর্ভুক্ত করবেন। আপনার ডিভেল মডিউল সক্ষম হওয়া দরকার।

আমি এই তথ্য দিয়ে একটি গিস্টও তৈরি করেছি ।

এখানে আমরা ...

  1. সাধারণ দ্রুপাল ইউআই ব্যবহার করে আপনার প্রয়োজনীয় ক্ষেত্রগুলি তৈরি করুন।
  2. একই সাইটে, উদাহরণে যান / ডেভেল / পিএইচপি
  3. নিম্নলিখিত কোডটি "কার্যকর করতে পিএইচপি কোড" পাঠ্যবাক্সে আটকান।
  4. প্রথম 3 ভেরিয়েবল সেট করুন এবং তারপরে এক্সিকিউট ক্লিক করুন

    $entity_type = 'node';    
    $field_name = 'body';    
    $bundle_name = 'article'; 
    
    $info_config = field_info_field($field_name);
    $info_instance = field_info_instance($entity_type, $field_name, $bundle_name);
    unset($info_config['id']);
    unset($info_instance['id'], $info_instance['field_id']);
    include_once DRUPAL_ROOT . '/includes/utility.inc';
    $output = "\$fields['" . $field_name . "'] = " . drupal_var_export($info_config) . ";\n";
    $output .= "\$instances['" . $field_name . "'] = " . drupal_var_export($info_instance) . ";";
    drupal_set_message("<textarea rows=30 style=\"width: 100%;\">" . $output . '</textarea>');
  5. আপনি 2 টি অ্যারে পাবেন, এমন কিছু, আশা করি সমস্ত বৈশিষ্ট্য পূরণ করা হয়েছে।

$fields['field_some_field'] = array(
  'properties of the field'
);

$instances['field_some_field'] = array(
  'properties of the instance'
);

এখন আপনার। ইনস্টল ফাইলটিতে নিম্নলিখিত কোডটি যুক্ত করুন। মায়োমডুলের সমস্ত দৃষ্টান্তকে প্রকৃত মডিউল নামের সাথে প্রতিস্থাপন করুন। নীচে সম্পর্কিত ফাংশন হিসাবে উল্লিখিত হিসাবে _mymodule_field_data এবং _mymodule_instance_data মধ্যে ডিভেল আউটপুট থেকে কোড আটকান। আপনি নিজের পছন্দ মতো ক্ষেত্রের জন্য এটি করতে পারেন, _mymodule_field_data ফাংশনটিতে সমস্ত $ ক্ষেত্রের অ্যারে এবং _মোমডিউল_ইনস্ট্যান্স_ডাটা ফাংশনে সমস্ত $ দৃষ্টান্ত স্থাপন করুন।

function mymodule_install() {

  // Create all the fields we are adding to our entity type.
  // http://api.drupal.org/api/function/field_create_field/7
  foreach (_mymodule_field_data() as $field) {
    field_create_field($field);
  }

  // Create all the instances for our fields.
  // http://api.drupal.org/api/function/field_create_instance/7
  foreach (_mymodule_instance_data() as $instance) {
    field_create_instance($instance);
  }
}

// Create the array of information about the fields we want to create.
function _mymodule_field_data() {
  $fields = array();
  // Paste $fields data from devel ouput here.
  return $fields;
  }

// Create the array of information about the instances we want to create.
function _mymodule_instance_data() {
  $instances = array();
  // Paste $instances data from devel output here.
  return $instances;
}


0

আপনি ইনস্টল করার সময় ক্ষেত্রগুলি তৈরি করতে বৈশিষ্ট্য মডিউলটি ব্যবহার করে বিবেচনা করতে পারেন।

বৈশিষ্ট্যগুলি ক্ষেত্রগুলির জন্য কোড উত্পন্ন করার সাথে সাথে একটি বিকল্পটি কেবলমাত্র ডামি মডিউলটিতে কোড উত্পন্ন করার জন্য বৈশিষ্ট্য মডিউলটি ব্যবহার করা এবং তারপরে আপনার মডিউলটির ইনস্টল ফাইলটিতে অনুলিপি এবং আটকানো।

মডিউলটি হ'ল সুবিধাটি আপনার টার্গেট এনভায়রনমেন্টের বৈশিষ্ট্য মডিউলের উপর নির্ভর করে না।


1
আল্টুফ বৈশিষ্ট্যগুলি কোডগুলিতে ক্ষেত্রগুলি রফতান করার একটি ভাল উপায়, বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন তা নয়। উত্পাদিত। ইনস্টল থেকে ক্ষেত্রগুলি তৈরি করতে বৈশিষ্ট্যগুলি ফিল্ড এপিআই সিআরইউডি ব্যবহার করে না।
পিয়ের বুয়েল

0

আপনি বিভিন্ন ক্ষেত্রের সাথে একটি সামগ্রীর ধরণের প্রগতিগতভাবে তৈরি করতে নীচে প্রদত্ত কাস্টমকম্প্যানি মড্যুল কোডটি ব্যবহার করতে পারেন।

আপনি আপনার কাস্টম মডিউলটির একটি ইনস্টল ফাইলটিতে এই কোডটি যুক্ত করতে পারেন। এটি প্রোগ্রামগতভাবে "সংস্থা" নামক একটি সামগ্রীর ধরণ এবং এর বিভিন্ন ধরণের ক্ষেত্র যুক্ত করবে (পাঠ্য, সংখ্যা, তারিখ (দ্রষ্টব্য: আপনাকে তারিখের ক্ষেত্রটি ডিফল্ট হিসাবে সরবরাহ করা হবে না কারণ তারিখ মডিউল ইনস্টল করতে হবে), চিত্র, তালিকা)।

আমি আনইনস্টল কোডও যুক্ত করেছি যা কন্টেন্ট ধরণের "সংস্থা" এর সমস্ত ক্ষেত্র এবং ডেটার সাথে সরিয়ে ফেলবে যখন আপনি আপনার 'কাস্টমকম্প্যানি মড্যুল' মডিউলটি আনইনস্টল করবেন।

আপনার প্রয়োজন অনুসারে আপনি এই ক্ষেত্রগুলি সংশোধন / অপসারণ করতে পারেন:

function customcompanymodule_install() {
     $t = get_t();
     node_types_rebuild();
     $company = array(
    'type' => 'company',
    'name' => $t('Company'),
    'base' => 'node_content',
    'module' => 'node',
    'description' => $t('Content type to handle companys.'),
    'body_label' => $t('Company Description'),
    'title_label' => $t('Company Title'),
    'promote' => 0,
    'status' => 1,
    'comment' => 0,
);
$content_type = node_type_set_defaults($company);

node_type_save($content_type);

foreach (_company_installed_fields() as $field) {
    field_create_field($field);
}

foreach (_company_installed_instances() as $instance) {
    $instance['entity_type'] = 'node';
    $instance['bundle'] = 'company';
    field_create_instance($instance);
}

$weight = db_query("SELECT weight FROM {system} WHERE name = :name",    array(':name' => 'categories'))->fetchField();
db_update('system')->fields(array(
            'weight' => $weight + 1,
        ))
        ->condition('name', 'company')
        ->execute();
}

function _company_installed_fields() {
$t = get_t();
$fields = array(
    'company_startdate' => array(
        'field_name' => 'company_startdate',
        'label' => $t('Company Start Date'),
        'cardinality' => 1,
        'type' => 'datetime',
        'module' => 'date',
        'settings' => array(
            'granularity' => array(
                'month' => 'month',
                'day' => 'day',
                'hour' => 'hour',
                'minute' => 'minute',
                'year' => 'year',
                'second' => 0,
            ),
            'tz_handling' => 'site',
            'timezone_db' => 'UTC',
            'cache_enabled' => 0,
            'cache_count' => '4',
            'todate' => 'required',
        ),
    ),
    'company_totalwinners' => array(
        'field_name' => 'company_totalwinners',
        'label' => $t('Maximum Company Winners'),
        'cardinality' => 1,
        'type' => 'number_integer',
        'module' => 'number',
        'settings' => array(
            'max_length' => 10000,
        ),
    ),
    'company_minwinner' => array(
        'field_name' => 'company_minwinner',
        'label' => $t('Minimum Entries for Company to Activate'),
        'cardinality' => 1,
        'type' => 'number_integer',
        'module' => 'number',
        'settings' => array(
            'max_length' => 10000,
        ),
    ),
    'company_totalentries' => array(
        'field_name' => 'company_totalentries',
        'label' => $t('Company Total Entries'),
        'cardinality' => 1,
        'type' => 'number_integer',
        'module' => 'number',
        'settings' => array(
            'max_length' => 10000,
        ),
    ),
    'company_points' => array(
        'field_name' => 'company_points',
        'label' => $t('Company Points'),
        'cardinality' => 1,
        'type' => 'number_integer',
        'module' => 'number',
        'settings' => array(
            'max_length' => 10000,
        ),
    ),
    'company_image' => array(
        'field_name' => 'company_image',
        'label' => $t('Image'),
        'cardinality' => 1,
        'type' => 'image',
        'settings' => array(
            'default_image' => 0,
            'uri_scheme' => 'public',
        ),
    ),
    'company_description' => array(
        'field_name' => 'company_description',
        'label' => $t('Company Description'),
        'cardinality' => 1,
        'type' => 'text',
        'module' => 'text',
        'length' => '255'
    ),
    'company_winner' => array(
        'field_name' => 'company_winner',
        'label' => $t('Company Description'),
        'cardinality' => 1,
        'type' => 'text',
        'module' => 'text',
        'length' => '255'
    ),
    'field_autowinnerselection' => array(
        'field_name' => 'field_autowinnerselection',
        'label' => $t('Auto Company Winner Selection'),
        'type' => 'list_boolean',
        'module' => 'list',
        'active' => '1',
        'locked' => '0',
        'cardinality' => '1',
        'deleted' => '0'
    ),
);
return $fields;
}

function _company_installed_instances() {
$t = get_t();
$instances = array(
    'company_startdate' => array(
        'field_name' => 'company_startdate',
        'label' => $t('Company Lifespan'),
        'cardinality' => 1,
        'widget' => array(
            'type' => 'date_popup',
            'module' => 'date',
            'settings' => array(
                'input_format' => 'm/d/Y - H:i:s',
                'input_format_custom' => '',
                'year_range' => '-3:+3',
                'increment' => '15',
                'label_position' => 'above',
                'text_parts' => array(),
            ),
        ),
    ),
    'company_totalwinners' => array(
        'field_name' => 'company_totalwinners',
        'label' => $t('Maximum Company Winners'),
        'cardinality' => 1,
        'widget' => array(
            'type' => 'number',
            'module' => 'number',
            'settings' => array('size' => 60),
        ),
    ),
    'company_minwinner' => array(
        'field_name' => 'company_minwinner',
        'label' => $t('Minimum Number of Entries for Company to Activate'),
        'cardinality' => 1,
        'required' => 1,
        'widget' => array(
            'type' => 'number',
            'module' => 'number',
            'settings' => array('size' => 60),
        ),
    ),
    'company_totalentries' => array(
        'field_name' => 'company_totalentries',
        'label' => $t('Company Total Entries'),
        'cardinality' => 1,
        'required' => 1,
        'widget' => array(
            'type' => 'number',
            'module' => 'number',
            'settings' => array('size' => 60),
        ),
    ),
    'company_points' => array(
        'field_name' => 'company_points',
        'label' => $t('Company Points'),
        'cardinality' => 1,
        'required' => 1,
        'widget' => array(
            'type' => 'number',
            'module' => 'number',
            'settings' => array('size' => 60),
        ),
    ),
    'company_image' => array(
        'field_name' => 'company_image',
        'label' => $t('Image'),
        'cardinality' => 1,
        'required' => 1,
        'type' => 'company_image',
        'settings' => array(
            'max_filesize' => '',
            'max_resolution' => '213x140',
            'min_resolution' => '213x140',
            'alt_field' => 1,
            'default_image' => 0
        ),
        'widget' => array(
            'settings' => array(
                'preview_image_style' => 'thumbnail',
                'progress_indicator' => 'throbber',
            ),
        ),
        'display' => array(
            'default' => array(
                'label' => 'hidden',
                'type' => 'image',
                'settings' => array('image_style' => 'medium', 'image_link' => ''),
                'weight' => -1,
            ),
            'teaser' => array(
                'label' => 'hidden',
                'type' => 'image',
                'settings' => array('image_style' => 'thumbnail', 'image_link' => 'content'),
                'weight' => -1,
            ),
        ),
    ),
    'company_description' => array(
        'field_name' => 'company_description',
        'label' => $t('Company Description'),
        'cardinality' => 1,
        'widget' => array(
            'weight' => '-3',
            'type' => 'text_textfield',
            'module' => 'text',
            'active' => 1,
            'settings' => array(
                'size' => '1000',
            ),
        ),
    ),
    'company_winner' => array(
        'field_name' => 'company_winner',
        'label' => $t('Company Winner'),
        'cardinality' => 1,
        'widget' => array(
            'weight' => '-3',
            'type' => 'text_textfield',
            'module' => 'text',
            'active' => 1,
            'settings' => array(
                'size' => '60',
            ),
        ),
    ),
    'field_autowinnerselection' => array(
        'field_name' => 'field_autowinnerselection',
        'required' => 1,
        'label' => $t('Auto Company Winner Selection'),
        'widget' => array(
            'weight' => '-3',
            'type' => 'options_buttons',
            'module' => 'options',
            'active' => 1,
            'settings' => array(),
        ),
    ),
);
return $instances;
}

function customcompanymodule_uninstall() {
$content_types = array(
    'name1' => 'company',
);
$sql = 'SELECT nid FROM {node} n WHERE n.type = :type1';
$result = db_query($sql, array(':type1' => $content_types['name1']));
$nids = array();
foreach ($result as $row) {
    $nids[] = $row->nid;
}
node_delete_multiple($nids);
node_type_delete($content_types['name1']);
field_purge_batch(1000);
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.