正如标题所描述的那样,我要为webform设置样式,为此我需要在div中包含特定字段以便为它们提供CSS属性,而我不知道应该如何去做。
我已经使用hook_form_alter捕获了表单但不知道该怎么做。
任何帮助?
答案 0 :(得分:1)
在您的主题template.php文件中,您需要获取表单ID,然后您可以执行以下操作:
function phptemplate_webform_form_FORM_ID ($form) {
$form['#prefix'] = '<div class="CLASS NAME">';
$form['#suffix'] = '</div>';
return _phptemplate_callback('webform_form_FORM_ID', array('form' => $form));
}
将FORM_ID替换为表单的ID。
修改强>
要为特定字段添加它们,请执行以下操作:
$form['ELEMENT_NAME']['#prefix'] = '<div class="CLASS NAME">';
$form['ELEMENT_NAME']['#suffix'] = '</div>';
我没有时间测试它,但用元素替换ELEMENT_NAME,这应该可以解决您的问题。这里有一个很好的页面 - http://drupal.org/node/79086
答案 1 :(得分:0)
您可以使用#field_prefix和#field_suffix用任何HTML元素包装字段。见下面的例子:
function auworks_form_alter(&$form, $form_state, $form_id) {
switch($form_id) {
case 'webform_client_form_1':
$form['submitted']['title']['#field_suffix'] = '<span class="field-suffix">#</span>';
break;
}
}
让我知道你怎么去......
答案 2 :(得分:0)
此外:如果你想将包含div添加到webform的提交按钮,这里有一个帮助你的钩子:
function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
if ($form['#form_id'] === 'webform_client_form_YOURWEBFORMID') {
$form_structure = &$form['submitted'];
$form['actions']['submit']['#prefix'] = '<div class="extra_div">';
$form['actions']['submit']['#suffix'] = '</div>';
}
}
如果您要将此应用于所有网络表单,您只需将条件保留,例如:
function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
$form_structure = &$form['submitted'];
$form['actions']['submit']['#prefix'] = '<div class="extra_div">';
$form['actions']['submit']['#suffix'] = '</div>';
}