老葛的Drupal培训班 Think in Drupal
Drupal拥有内置的函数,用来获取你定义的表单数据结构,并将其转换或者说是呈现为HTML。然后,许多时候你可能需要修改Drupal生成的输出,或者你可能想更好的控制该流程。幸运的是,在Drupal中,很容易实现这一点。
使用#prefix、#suffix和#markup
如果你的主题化需求非常简单,那么你就可以使用属性#prefix和#suffix在表单元素前面和/或后面添加HTML,从而满足需求:
$form['color'] = array(
'#prefix' => '<hr />',
'#title' => t('Color'),
'#type' => 'fieldset',
'#suffix' => '<div class="privacy-warning">' .
t('This information will be displayed publicly!') . '</div>',
);
这一代码在颜色字段集上方添加了一条水平线,在其下方添加了一条私有消息,如图10-5所示。
图 10-5.#prefix和#suffix属性在一个元素前面和后面添加内容
你甚至可以在你的表单中把HTML标识文本声明为类型#markup(不过很少这样用)。任何不带#type属性的表单元素默认为markup类型。
$form['blinky'] = array(
'#type' = 'markup',
'#value' = '<blink>Hello!</blink>'
);
注意 这个向你的表单中引入了HTML标识文本的方法,一般认为与使用<blink>标签效果差不多。但是与编写一个主题函数相比,它不够干净利落,同时也增加了你网站设计人员的工作量。
评论
勘误
3ks
3ks