如何将navbarForm添加到Yiistrap导航栏

时间:2014-01-29 17:09:43

标签: forms twitter-bootstrap login yii navbar

我想使用Yiistrap在我的导航栏中添加一个登录表单。

但缺乏文档。

有谁知道如何实现这个?

2 个答案:

答案 0 :(得分:0)

您可以使用以下内容扩展TbHtml类:



    class HHtml extends TbHtml {
        /**
         * @param $action
         * @param string $method
         * @param array $htmlOptions
         * @return string
         */
        public static function loginForm($action, $method = 'post', $htmlOptions = array()) {
            if (isset($htmlOptions['visible']) && !$htmlOptions['visible'])
                self::addCssClass('hide', $htmlOptions);
            self::addCssClass('navbar-form', $htmlOptions);
            $output = self::beginFormTb(self::FORM_LAYOUT_INLINE, $action, $method, $htmlOptions);
            $output .= self::textField('UserLogin[username]', '', array('placeholder' => 'Username', 'size' => TbHtml::INPUT_SIZE_SMALL));
            $output .= self::passwordField('UserLogin[password]', '', array('placeholder' => 'Password', 'size' => TbHtml::INPUT_SIZE_SMALL));
            //$output .= self::checkBox('UserLogin[rememberMe]', false, array('label' => 'Remember me'));
            $output .= self::submitButton('Sign in');
            $output .= parent::endForm();
            return $output;
        }

    }


所以你可以这样使用TbNavbar的项目部分:



    array(
        'class' => 'bootstrap.widgets.TbNav',
        'htmlOptions' => array(
            'class' => 'pull-right'
        ),
        'items' =>array(
            HHtml::loginForm('/site/login', 'post', array('visible' => Yii::app()->user->isGuest)),
            array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'), 'visible'=>!Yii::app()->user->isGuest),
        ),
    ),

答案 1 :(得分:0)

<?php $this->widget('bootstrap.widgets.BsNavbar', array(
        'collapse' => TRUE,
        'color' => BsHtml::NAVBAR_COLOR,
        'brandLabel' => BsHtml::icon(BsHtml::GLYPHICON_HOME),
        'brandUrl' => Yii::app()->homeUrl,
        'items' => array(
            array(
                'class' => 'bootstrap.widgets.BsNav',
                'type' => 'navbar',
                'activateParents' => true,
                'items' => array(
                    //other items
                ),
            ),
            BsHtml::navbarSearchForm(Yii::app()->createUrl('search'), 'get', array(
                'class' => 'navbar-form navbar-right',
            )),

        ))); ?>