Я пытаюсь добавить выпадающую регистрационную форму с помощью Yii Bootstrap, как и прилагаемое учебное пособие, но я не могу добавить HTML-форму в items
TbNavbar
. Как я могу его адаптировать?
Следующий учебник: http://mifsud.me/adding-dropdown-login-form-bootstraps-navbar/
Код:
<?php $this->widget('bootstrap.widgets.TbNavbar',array( 'items'=>array( array( 'class'=>'bootstrap.widgets.TbMenu', 'htmlOptions'=>array('class'=>'pull-right'), 'items'=>array( array('label'=>'Login', 'url'=>'#', 'visible'=>Yii::app()->user->isGuest, 'items'=>array( 'FORM HTML CODE', // here is the problem, the HTML Form is not working. )), ), ), )); ?>
Переместите вашу кнопку и сформируйте из TbMenu
элементов TbMenu
и в TbNavbar
элементов TbNavbar
. TbNavBar
позволяет использовать html, но не TbMenu
.
<?php $this->widget('bootstrap.widgets.TbNavbar',array( 'items'=>array( array( 'class'=>'bootstrap.widgets.TbMenu', 'htmlOptions'=>array('class'=>'pull-right'), 'items'=>array( ), ), '<ul class="nav pull-right"> <li><a href="/users/sign_up">Sign Up</a></li> <li class="divider-vertical"></li> <li class="dropdown"> <a class="dropdown-toggle" href="#" data-toggle="dropdown">Sign In <strong class="caret"></strong></a> <div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;"> <!-- Login form here --> </div> </li> </ul>' ), )); ?>
Кроме того, чтобы сохранить минимальную разметку html, вы также можете использовать ключ массива «шаблон»:
<?php $this->widget('bootstrap.widgets.TbNavbar',array( 'items'=>array( array( 'class'=>'bootstrap.widgets.TbMenu', 'htmlOptions'=>array('class'=>'pull-right'), 'items'=>array( array('label'=>'Login', 'url'=>'#', 'visible'=>Yii::app()->user->isGuest, 'items'=>array( array( 'label'=>'{menu}', 'template'=>'<form class="navbar-form pull-left" style="padding-left:15px;padding-right:15px;"> <input type="text" class="span2" placeholder="Login"> <input type="password" class="span2" placeholder="Password"> <button type="submit" class="btn">Submit</button> </form>' ) )), ), ), ))); ?>
Внутри определенной строки шаблона вы также можете использовать placeholder {menu} для замены вашей ссылкой.