मैं एक कस्टम मॉड्यूल लिख रहा हूं, जो मैंने पहले किया है, लेकिन यह पहली बार है जब मैंने खेतों के साथ एक सामग्री प्रकार बनाने की कोशिश की है। मैंने hook_node_info लागू किया है और सामग्री प्रकार की सूची में दिखाई दे रही है प्रकार admin_menu से ड्रॉपडाउन में, हालांकि, जब मैं ब्राउज़ करता हूं तो admin/structure/types
यह सूचीबद्ध नहीं है।
मैंने हुक_ इंस्टॉलेशन लागू किया और कुछ कोड पकड़े जो मुझे एक और SO प्रश्न पर मिले। मेरे पास मेरी त्रुटि लॉग के लिए कुछ डिबग जानकारी का कोड प्रिंट है और यह इसे पसंद करता है जैसे यह सब काम करता है, लेकिन जब मैं संरचना सामग्री प्रकार पर ब्राउज़ करता हूं तो यह मेरे द्वारा जोड़े गए क्षेत्र को नहीं दिखाता है।
यहाँ हुक हैं:
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',
)
मेरा फ़ील्ड इस सामग्री प्रकार पर क्यों नहीं दिखता है?