আমি একটি কাস্টম মডিউল লিখছি, যা আমি এর আগে করেছি, তবে আমি প্রথমবারের মতো ক্ষেত্রগুলি দিয়ে একটি সামগ্রীর প্রকার তৈরির চেষ্টা করেছি। আমি hook_node_info প্রয়োগ করেছি এবং অ্যাডমিন_মেনু থেকে ড্রপডাউন বিষয়বস্তুর ধরণের তালিকায় কন্টেন্টের ধরণটি প্রদর্শিত হচ্ছে, তবে আমি যখন admin/structure/types
এটি ব্রাউজ করি তখন তালিকাভুক্ত হয় না।
আমি হুক_ইনস্টল প্রয়োগ করেছি এবং অন্য একটি এসও প্রশ্নের সাথে পাওয়া কিছু কোড পেয়েছি code আমার কোডটি আমার ত্রুটি লগের জন্য কিছু ডিবাগ তথ্য প্রিন্ট আউট করেছে এবং এটি দেখতে সমস্ত কাজ পছন্দ করে তবে আমি স্ট্রাকচার সামগ্রীর প্রকারে ব্রাউজ করলে এটি যুক্ত করা ক্ষেত্রটি প্রদর্শন করে না।
এখানে হুক আছে:
function mymod_node_info() {
return array(
'mymod_content' => array(
'name' => t('My Mod'),
'base' => 'mymod_content',
'description' => t('A Description'),
)
);
}
function mymod_install() {
error_log('mymod_install');
$types = node_type_get_types();
if ( ! field_info_field('field_mymod_myfile') ) {
$field = array(
'field_name' => 'field_mymod_myfile',
'type' => 'file',
);
$created_field = field_create_field($field);
error_log('---- field_create_field -----');
error_log(var_export($created_field, true));
}
$instance = array(
'field_name' => 'field_mymod_myfile',
'entity_type' => 'mymod_content',
'bundle' => 'mymod_content',
'required' => TRUE,
);
$created_instance = field_create_instance($instance);
error_log('---- field_create_instance -----');
error_log(var_export($created_instance, true));
}
আমি field_data_field_mymod_myfile
ডাটাবেসে ডাকা একটি টেবিল দেখতে পাচ্ছি , তাই আমি জানি প্রথম অংশটি কাজ করেছে। তবে, টেবিলটি খালি রয়েছে।
ত্রুটি লগ দেখায় field_create_instance()
পদ্ধতিটি এটি ফিরিয়ে দিয়েছে:
array (
'field_name' => 'field_mymod_myfile',
'entity_type' => 'mymod_content',
'bundle' => 'mymod_content',
'required' => true,
'field_id' => '5',
)
আমার ক্ষেত্রটি কেন এই সামগ্রীর ধরণে প্রদর্শিত হচ্ছে না?