作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
对于表单元素,我们可以为其定义专门的主题函数,用来控制其外观,现在添加主题相关的代码,如下所示:
/**
* Implements hook_theme().
*/
function transliteration_title_theme() {
return array(
'transliteration_title_field' => array(
'render element' => 'element',
),
);
}
/**
* FAPI theme for an individual text elements.
*/
function theme_transliteration_title_field($vars) {
drupal_add_css(drupal_get_path('module', 'transliteration_title') .'/transliteration_title.css');
$element = $vars['element'];
$output = '';
$output .= '<div class="transliteration-title-field clearfix">';
$output .= '<div class="transliteration-title-field-value">'. drupal_render($element['value']) .'</div>';
$output .= '<div class="transliteration-title-field-manual">'. drupal_render($element['manual']) .'</div>';
$output .= '</div>';
return $output;
}
这里我们实现了hook_theme,在里面注册了theme_transliteration_title_field函数,在后者的具体实现里面,我们为表单元素添加了特有的html标签,用来控制CSS样式。当然,我们这里面并没有添加任何的CSS,所以看起来样式没有什么变化。
现在我们该考虑一下如何处理用户的输入了,也就是需要对用户的输入进行验证,把这个字段的输入,正确的保存到数据库中。当然现在也是可以工作的,但是还没有按照我们的要求工作。