当在Drupal中呈现单选按钮时,它会显示为:
<label class="form-radio" for="sample">
<input type="radio" name="samp" value="1" />Sample
</label>
我一直在查看主题函数(即theme_radios和theme_form_element,但无法弄清楚如何呈现输出
<label class="form-radio" for="sample">Sample</label>
<input type="radio" name="samp" value="1" />.
有人能指出我正确的方向吗?一直在梳理论坛,但没有找到任何帮助......我甚至对jquery解决方案感到满意......
答案 0 :(得分:2)
听起来你很近 - 一个单无线电输入是theme_ 无线电(不是theme_radio s 的功能,它存在但是不同)。
为此,请在主题的template.php中基于theme_radio创建覆盖功能,即
<?php
function mytheme_radio($element) {
_form_set_class($element, array('form-radio'));
$output = '<input type="radio" ';
$output .= 'id="' . $element['#id'] . '" ';
$output .= 'name="' . $element['#name'] . '" ';
$output .= 'value="' . $element['#return_value'] . '" ';
$output .= (check_plain($element['#value']) == $element['#return_value']) ? ' checked="checked" ' : ' ';
$output .= drupal_attributes($element['#attributes']) . ' />';
if (!is_null($element['#title'])) {
$output = '<label class="option" for="' . $element['#id'] . '">' . $element['#title'] . '</label>' . $output;
}
unset($element['#title']);
return theme('form_element', $element, $output);
}
?>
(这适用于/includes/form.inc中的任何主题功能;记得在主题后命名覆盖功能。)假设您根据发送的链接使用Drupal 6。
答案 1 :(得分:1)
您可以在加载页面后尝试此操作
$(function(){
$("lable.form-radio").each(function(){
$(this).after($(this).find("input[name=samp]"));
});
});
答案 2 :(得分:-2)
问题的另一个解决方案&#34;如何通过标签内的css输入无线电进行样式化?&#34;对于Bootstrap主题它的问题)) 我们可以包装无线电标签&#39;该文件中的标题:
站点/所有/主题/引导/模板/系统/形状元件label.func.php
在$output
的行中添加到$title
span标记行70,80,89
e.g。 $output .= '<span>' . $title . '</span>';
寻求答案的3天))