我正在尝试使用一些引导功能,例如Yii CHtml类中的Icon字形,这是我的代码:
<?php
echo CHtml::submitButton('<i class="icon-user"></i> Login',
array(
'class' => 'btn btn-large pull-right'
));
?>
但它有点不“识别”标签,只是将标签呈现出来,如下图所示。
有没有人知道如何解决它(没有自己输入html标签)。
谢谢你们。
答案 0 :(得分:12)
CHtml::submitButton
生成<input type="submit">
,无法接受其他HTML作为其内容。但是,您可以使用CHtml::tag
:
echo CHtml::tag('button',
array('class' => 'btn btn-large pull-right'),
'<i class="icon-user"></i> Login');
这将生成一个<button>
标记,可以将任意HTML作为其内容。
更新:正如frostyterrier在评论中指出的那样,有一种内置方法CHtml::htmlButton
可让您更轻松地完成此操作:
echo CHtml::htmlButton('<i class="icon-user"></i> Login',
array('class' => 'btn btn-large pull-right'));
答案 1 :(得分:3)
尝试在htmlOptions参数中将'encode'设置为false。
<?php
echo CHtml::submitButton('<i class="icon-user"></i> Login',
array(
'encode' => false,
'class' => 'btn btn-large pull-right'
));
?>
答案 2 :(得分:0)
CHTML::submitbutton
生成<intput type="submit" />
代码,您正在尝试将HTML填入其value
属性。
为什么不简单地将icon-user
CSS类添加到按钮本身?
echo CHtml::submitButton('Login', array(
'class' => 'btn btn-large pull-right icon-user'
));
如果它是一个Bootstrap定义的类,它应该很好地设置输入按钮的样式。
答案 3 :(得分:0)
试试这个
$this->widget("bootstrap.widget.TbButton", array(
'buttonType'=>'submit',
'label=>'Login',
'type'=>'success', //or default or warning... as you like
'icon'=>'user',
'size'=>'large', //small, mini, or just comment line for default
));
答案 4 :(得分:0)
首先你应该从subbmitButton更改为htmlButton,例如编写以下代码:
<?php echo CHtml::htmlButton('<span>Log in!</span>',array('type'=>'submit','class'=>'tbutton small pad')); ?>