9 对应表单元素的主题函数

作者:老葛,北京亚艾元软件有限责任公司,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,所以看起来样式没有什么变化。

    

    现在我们该考虑一下如何处理用户的输入了,也就是需要对用户的输入进行验证,把这个字段的输入,正确的保存到数据库中。当然现在也是可以工作的,但是还没有按照我们的要求工作。


Drupal版本: