প্রোগ্রাম ফিল্ডের অনুমোদিত মানগুলি কীভাবে আপডেট করবেন?


10

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

আমি এই নির্দিষ্ট ইস্যুতে উচ্চ এবং নিম্নে গুগলড করেছি এবং এটি কীভাবে করা যায় তার কোনও উত্তর খুঁজে পাই না। আমি আশা করি কেউ আমাকে সাহায্য করতে পারে।

ধন্যবাদ।

উত্তর:


23

এর লাইনে কিছু ...

// Get the field info
$info = field_info_field('field_some_field');

// Get a reference to the values
$values = &$info['settings']['allowed_values'];

// Manipulate the values in some way, e.g.
$values['new_value'] = 'New Value';

// Save the field
field_update_field($info);

এই কোডের টুকরোটি আমাকে কোথায় যুক্ত করতে হবে?
শিবম 12'15

@ শিবাম আপনার তৈরি করা একটি কাস্টম মডিউলে আপনাকে এই কোডটি যুক্ত করতে হবে।
ব্যবহারকারী 5013

এটি একবারে চালানোর জন্য একটি হুক_আপডেট_এন এ রাখুন।
আছরাফ জেদাই

ক্ষেত্রটি ইতিমধ্যে ব্যবহারে থাকলে এটি পুরানো অনুমোদিত মানগুলিকে পরিবর্তন করবে না।
আছরাফ জেদাই

3

আপনি allowed_values_functionকলব্যাক দিয়ে আরও ভাল ব্যবহার করতে চাই :

'settings' => array(
  'allowed_values' => array(),
  'allowed_values_function' => '_my_feature_module_options_list',
),

সত্তা ক্ষেত্রের জন্য গতিশীল অনুমোদিত মান বিকল্পগুলি তৈরি করা দেখুন ।


আরও একটি সম্পূর্ণ উত্তর সহায়ক হবে। আপনি যে কোডটি উল্লেখ করছেন সেটি ভাল, এবং গৃহীত উত্তরের মতো কাজ করে তবে বৈশিষ্ট্য মডিউলটি ব্যবহারের জন্য তৈরি করা হয়েছিল।
জনাথন এলমোর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.