8

我正在尝试使用一些引导功能,例如 Yii CHtml 类中的图标字形,这是我的代码:

<?php 
   echo CHtml::submitButton('<i class="icon-user"></i> Login', 
       array(
           'class' => 'btn btn-large pull-right'
       )); 
 ?>

但它有点不“识别”标签,只是像下面的图片一样渲染标签。在此处输入图像描述

有谁知道如何解决它(不输入html标签本身)。

感谢你们。

4

5 回答 5

13

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'));
于 2013-01-28T21:23:56.997 回答
3

尝试在 htmlOptions 参数中将 'encode' 设置为 false。

<?php
    echo CHtml::submitButton('<i class="icon-user"></i> Login',
        array(
            'encode' => false,
            'class' => 'btn btn-large pull-right'
        ));
?>
于 2013-01-28T20:38:30.543 回答
0

CHTML::submitbutton生成<intput type="submit" />标签,您正试图将 HTML 塞进它的value属性中。

为什么不简单地将icon-userCSS 类添加到按钮本身?

echo CHtml::submitButton('Login', array(
   'class' => 'btn btn-large pull-right icon-user'
)); 

如果它是 Bootstrap 定义的类,它应该很好地设置输入按钮的样式。

于 2013-01-28T20:55:26.067 回答
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

));

文档:http ://www.cniska.net/yii-bootstrap/#tbButton

于 2013-07-13T10:44:18.023 回答
0

首先你应该从 subbmitButton 更改为 htmlButton,例如编写以下代码:

<?php echo CHtml::htmlButton('<span>Log in!</span>',array('type'=>'submit','class'=>'tbutton small pad')); ?>
于 2016-02-20T17:11:15.083 回答