Button.php 1.29 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace yii\bootstrap;
use yii\base\InvalidConfigException;
use yii\helpers\Html;


/**
14
 * Button renders a bootstrap button.
15 16 17 18
 *
 * For example,
 *
 * ```php
19
 * echo Button::widget(array(
20
 *     'label' => 'Action',
21
 *     'options' => array('class' => 'btn-large'),
22 23 24 25 26 27 28 29
 * ));
 * ```
 * @see http://twitter.github.io/bootstrap/javascript.html#buttons
 * @author Antonio Ramirez <amigo.cobos@gmail.com>
 * @since 2.0
 */
class Button extends Widget
{
Qiang Xue committed
30 31 32 33 34 35 36 37 38 39 40 41
	/**
	 * @var string the tag to use to render the button
	 */
	public $tagName = 'button';
	/**
	 * @var string the button label
	 */
	public $label = 'Button';
	/**
	 * @var boolean whether the label should be HTML-encoded.
	 */
	public $encodeLabel = true;
42 43


Qiang Xue committed
44 45 46 47 48 49 50 51 52 53
	/**
	 * Initializes the widget.
	 * If you override this method, make sure you call the parent implementation first.
	 */
	public function init()
	{
		parent::init();
		$this->clientOptions = false;
		$this->addCssClass($this->options, 'btn');
	}
54

Qiang Xue committed
55 56 57 58 59 60 61 62 63
	/**
	 * Renders the widget.
	 */
	public function run()
	{
		echo Html::tag($this->tagName, $this->encodeLabel ? Html::encode($this->label) : $this->label, $this->options);
		$this->registerPlugin('button');
	}
}