Tôi đang viết một mô-đun tùy chỉnh, điều mà tôi đã làm trước đây, nhưng đây là lần đầu tiên tôi cố gắng tạo một loại nội dung với các trường. Tôi đã triển khai hook_node_info và Loại nội dung đang hiển thị trong danh sách các loại Nội dung trong danh sách thả xuống từ admin_menu, tuy nhiên, khi tôi duyệt đến admin/structure/types
nó không được liệt kê.
Tôi đã triển khai hook_install và lấy một số mã tôi tìm thấy trong một câu hỏi SO khác. Tôi có mã in ra một số thông tin gỡ lỗi vào nhật ký lỗi của mình và nó LOOKS giống như tất cả đều hoạt động, nhưng khi tôi duyệt đến Kiểu nội dung cấu trúc thì nó không hiển thị trường tôi đã thêm.
Đây là móc:
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));
}
Tôi có thể thấy một bảng được gọi field_data_field_mymod_myfile
trong cơ sở dữ liệu, vì vậy tôi biết phần đầu tiên hoạt động. Tuy nhiên, cái bàn trống rỗng.
Nhật ký lỗi hiển thị field_create_instance()
phương thức trả về điều này:
array (
'field_name' => 'field_mymod_myfile',
'entity_type' => 'mymod_content',
'bundle' => 'mymod_content',
'required' => true,
'field_id' => '5',
)
Tại sao trường của tôi không hiển thị trên loại nội dung này?