Sunday, January 9, 2022

[FIXED] Yii : How to make a button with an html tag inside the label

Issue

I'm trying to use some bootstrap features like the Icon glyphs in the Yii CHtml class, here is my code:

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

But it kinda don't "recognize" the tag and just renders the tag out like the image bellow .enter image description here

does anyone knows how to workaround it (without typing the html tags itself).

Thank you guys.


Solution

CHtml::submitButton produces an <input type="submit"> that cannot accept additional HTML as its content. However, you can do things to taste with CHtml::tag:

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

This will produce a <button> tag that can take arbitrary HTML as its content.

Update: As frostyterrier points out in the comments, there's a built-in method CHtml::htmlButton that allows you to do this even more easily:

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


Answered By - Jon

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.