ব্যবহারকারী প্রোফাইলে কীভাবে অতিরিক্ত ক্ষেত্র যুক্ত করবেন?


22

আমি ব্যবহারকারীর প্রোফাইলে অতিরিক্ত ক্ষেত্র যুক্ত করতে চাই। আমি চাই যে ব্যবহারকারী তার সম্পর্কে আমার ডাটাবেসে সংরক্ষণ করা প্রায় সমস্ত তথ্য সম্পাদনা করতে সক্ষম হন। আমার কিছু ধারণা আছে: সম্ভবত ফর্ম এপিআই ব্যবহার করা সম্ভব।


বিশদ ব্লগটি এখানে: goo.gl/zxBTBY
সুরেশ কামরুশি

উত্তর:


23

কোড দ্বারা ব্যবহারকারী ক্ষেত্রগুলি যুক্ত করার একটি উপায় যাতে আপনি এটি আপনার মডিউলটিতে রাখতে পারেন।

আমি এটি খুঁজে পেয়েছি: ফিল্ড_ক্রিয়েট_ফিল্ড মন্তব্যে আপনার মডিউলটি সক্ষম করার পরে আপনার ব্যবহারকারীর জন্য একটি ক্ষেত্র তৈরি করার একটি উপায়:

/**
 * Implementation of hook_enable().
 */
function MYMODULE_enable() {
  // Check if our field is not already created.
  if (!field_info_field('field_myField')) {
    $field = array(
        'field_name' => 'field_myField', 
        'type' => 'text', 
    );
    field_create_field($field);

    // Create the 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',
            'weight' => '1',
        ), 
    );
    field_create_instance($instance);
  }
}

1
আমি এই খুব দরকারী পৃষ্ঠাটি পেয়েছি যা ইউআই দিয়ে তৈরি ক্ষেত্রগুলি কীভাবে রফতানি করবে তা ব্যাখ্যা করে। এই রফতানিটি তারপর কর্মক্ষেত্রে সবকিছু করতে ফিল্ড_ক্রিয়েট_ফিল্ড এবং ফিল্ড_ক্রিয়েট_ইনস্ট্যান্স ব্যবহার করা যেতে পারে
হুইস্কি

ধন্যবাদ, এটি খুব দরকারী ছিল - কীভাবে স্বয়ংক্রিয়ভাবে ওজনও নির্ধারণ করা যায় তা সম্পর্কে ধারণা আছে?
ইনটার্টিমিডিয়া

আপনি আমার উত্তরটিতে এটি যুক্ত 'weight' => '1',করতে উইজেটের অ্যারেতে যুক্ত করতে পারেন $instance
ফ্লাই

জটিল ক্ষেত্রে, এটি প্রথম নিজে উপর ক্ষেত্র যোগ করার জন্য দরকারী /admin/config/people/accounts/fields, তারপর ব্যবহার ফিল্ড পরিদর্শক উপর /admin/config/development/field-inspectorউপরে মত কোড ব্যবহারের জন্য ক্ষেত্র ও ক্ষেত্র উদাহরণস্বরূপ সংজ্ঞা অ্যারে রপ্তানি করতে।
ট্যানিয়াস

ডিবি পরিষ্কার রাখতে, আপনি ক্ষেত্রটি মোছার জন্য একটি হুক_উইনস্টল প্রয়োগ করতেও পারেন। function MYMODULE_uninstall() {field_delete_field('field_myField');}
dxvargas

35

পৃষ্ঠাটি সন্ধান করা আমার পক্ষে শক্ত হয়ে গেছে তবে / অ্যাডমিন / কনফিগারেশন / লোক / অ্যাকাউন্ট / ক্ষেত্রগুলিতে আপনি ব্যবহারকারীদের সাথে ক্ষেত্রগুলি যুক্ত করতে পারেন।


2
ধন্যবাদ, তবে আমি কি ফর্ম এপি ব্যবহার করে এটি করতে পারি? আমার আরও কার্যকারিতা দরকার।
অ্যালেক্সি

এটি আপনি কী করতে চান, ক্ষেত্রগুলি দিয়ে এটি সম্ভব নয়?
অগস্ট

আমি ইতিমধ্যে আমার নিজের ক্ষেত্রগুলি দ্রুপাল সারণীতে তৈরি করেছি users। "ক্ষেত্রগুলি" টেবিলের বাইরে নতুন ক্ষেত্র তৈরি করে users
অ্যালেক্সি

এটি কীভাবে ড্রুপাল কাজ করে, আপনি ব্যবহারকারীদের টেবিলে ক্ষেত্রগুলি কেন সংরক্ষণ করতে চান?
Attiks

আমার মতে এটি করা আরও সহজ উপায়। আমি যে অতিরিক্ত ক্ষেত্রগুলি ব্যবহার করি সেগুলি যুক্ত করার জন্যhook_form_alter(&$form, &$form_state, $form_id)
আলেক্সি


4

ড্রুপাল 7-এ, ব্যবহারকারীর প্রোফাইলে বিভিন্ন ক্ষেত্রের ধরণের (যেমন চিত্র, ট্যাগ ক্ষেত্র ইত্যাদি) সহ একটি নতুন বা বিদ্যমান ক্ষেত্র যুক্ত করতে এই প্রক্রিয়াটি ব্যবহার করুন:

  1. ফিল্ড UI মডিউল সক্ষম করুন ।
  2. প্রশাসক মেনুতে " প্রশাসক → কনফিগারেশন uration লোক: অ্যাকাউন্ট সেটিংস " এ যান এবং তারপরে " ক্ষেত্রগুলি পরিচালনা করুন " (দ্বিতীয় ট্যাব) এ যান।

    (বিকল্পভাবে, ইউআরএলে সরাসরি পথ ব্যবহার করুন /admin/config/people/accounts/fields:)।

  3. ফর্মের নীচে "নতুন ক্ষেত্র যুক্ত করুন" বা "বিদ্যমান ক্ষেত্র যুক্ত করুন" লাইনটি পূরণ করুন এবং "সংরক্ষণ করুন" ক্লিক করুন।

1

আপনি কোন ধরণের ক্ষেত্র যুক্ত করতে চান?

  • যদি এটি কোনও সামাজিক নেটওয়ার্কিং সাইট এবং আপনি গোপনীয়তা সেটিংস ক্ষেত্রগুলি যুক্ত করে থাকেন তবে গোপনীয়তা প্রতি ব্যবহারকারী মডিউলটি ব্যবহার করুন ।
  • আপনি যদি ট্যাব বা অ্যাকর্ডিয়ান ক্ষেত্রগুলি যুক্ত করতে চান তবে ব্যবহারকারী অ্যাকাউন্ট ক্ষেত্রগুলিতে (ইউআরএল: / অ্যাডমিন / কনফিগারেশন / লোক / অ্যাকাউন্ট / ক্ষেত্র) নতুন গ্রুপ যুক্ত করতে ফিল্ড_গ্রুপ মডিউলটি ব্যবহার করুন।
  • এবং যদি আপনি বিভিন্ন ভূমিকা জন্য বিভিন্ন ক্ষেত্রে চাই, ব্যবহার PROFILE2 মডিউল।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.