我基本上試圖使用新的Drupal 7字段API創建我的第一個字段類型模塊。 我已經設法讓它在「編輯」視圖中正確顯示。
但是,當我嘗試保存一些數據時,它只保存第一個字符。自定義Drupal 7字段只保存第一個字符
這裏的模塊:
<?php
function youtubefield_field_info() {
return array(
'youtubefield_video' => array(
'label' => t('Youtube video'),
'description' => t('This field stores a youtube video ID and displays the video associated with it'),
'settings' => array(
'max_length' => 11,
),
'instance_settings' => array(
'text_processing' => false,
),
'default_widget' => 'youtubefield_video_widget',
'default_formatter' => 'youtubefield_video_formatter',
),
);
}
function youtubefield_field_widget_info() {
return array(
'youtubefield_video_widget' => array(
'label' => t('Default'),
'field types' => array('youtubefield_video'),
),
);
}
function youtubefield_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
$element['#type'] = 'textfield';
$element['#default_value'] = isset($items[$delta]) ? $items[$delta] : '';
return $element;
}
function youtubefield_field_is_empty($item, $field) {
return !$item;
}
function youtubefield_field_formatter_info() {
return array(
'youtubefield_video_formatter' => array(
'label' => t('Youtube video'),
'field types' => array('youtubefield_video'),
),
);
}
而這裏的安裝程序:
<?php
function youtubefield_field_schema($field) {
return array(
'columns' => array(
'value' => array(
'type' => 'varchar',
'length' => 11,
'not null' => true,
),
),
'indexes' => array(),
);
}
編輯:這個問題似乎是相關的小部件,因爲它工作正常時,它得到的數據編程。
@ Laxman13,將'field-api'標籤加上'drupal-'前綴不是更好嗎? –
是的,沒有想到,謝謝。 – Laxman13