YiiBoster 2.1.1 + YiiHeart 1.2
1.Бутстрап верси 2.1.1
все ссылки здесь
подключать без алиаса так
config/main.php
'preload' => array('bootstrap','log'),
'theme' => 'heart',
'components' => array(
'bootstrap'=>array(
'class'=>'application.extensions.yiibooster.components.Bootstrap',
'fontAwesomeCss' =>true,
'minify'=>true,
),
'themeManager' => array(
'basePath' => 'protected/extensions',
),
'gii' => array(
'class' => 'system.gii.GiiModule',
'password' => 'root',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters' => array('127.0.0.1', '::1'),
'generatorPaths' => array('ext.heart.gii'),
),
.
Решается это несколько своеобразно - нужно везде удалить
<div class="row">
</div>
Тогда login.php примет вид
<?php
/* @var $this SiteController */
/* @var $model LoginForm */
/* @var $form CActiveForm */
$this->pageTitle = Yii::app()->name . ' - Login';
$this->breadcrumbs = array(
'Login',
);
?>
<h1>Login</h1>
<p>Please fill out the following form with your login credentials:</p>
<div class="form">
<?php
$form = $this->beginWidget('CActiveForm', array(
'id' => 'login-form',
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => true,
),
));
?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->labelEx($model, 'username'); ?>
<?php echo $form->textField($model, 'username'); ?>
<?php echo $form->error($model, 'username'); ?>
<?php echo $form->labelEx($model, 'password'); ?>
<?php echo $form->passwordField($model, 'password'); ?>
<?php echo $form->error($model, 'password'); ?>
<p class="hint">
Hint: You may login with <kbd>demo</kbd>/<kbd>demo</kbd> or <kbd>admin</kbd>/<kbd>admin</kbd>.
</p>
<?php echo $form->checkBox($model, 'rememberMe'); ?>
<?php echo $form->label($model, 'rememberMe'); ?>
<?php echo $form->error($model, 'rememberMe'); ?>
<?php echo CHtml::submitButton('Login2'); ?>
<?php $this->endWidget(); ?>
</div><!-- form -->
3.Для удобства - вот названия иконок
на данный момент версия Font Awesome 4.0.3
но это легко исправляется. Здесь можно скачать последнюю версию (на момент написания 4.3)
Добавление - в папку protected\extensions\yiibooster\assets
заменяем папку font-awesome скачанной
Изменить иконку легко - предположим в
protected\extensions\heart\views\layouts
Изменить иконку легко - предположим в
protected\extensions\heart\views\layouts
<?php $currController = Yii::app()->controller->id; $currControllers = explode('/', $currController); $currAction = Yii::app()->controller->action->id; $currRoute = Yii::app()->controller->getRoute(); $currRoutes = explode('/', $currRoute); $menu = array( array('label' => 'Home', 'url' => array('/site/index'), 'icon' => 'fa fa-home', 'active' => ($currController == 'site' and $currAction == 'index' )), array( 'label' => 'Admin', 'url' => '#', 'icon' => 'fa fa-gear', 'visible' => !Yii::app()->user->isGuest, 'active' => false, 'items' => array( array('label' => 'Generator Code', 'url' => array('/gii/heart'), 'icon' => 'fa fa-refresh fa-fw', 'visible' => !Yii::app()->user->isGuest), array('label' => 'Engine', 'url' => array('/engine/admin'), 'icon' => 'fa fa-wrench',), //'---', //array('label'=>'NAV HEADER'), )), array('label' => 'Pages', 'url' => '#', 'icon' => 'fa fa-sitemap', 'active' => ($currController == 'site' and $currAction != 'index'), 'items' => array( array('label' => 'About', 'url' => array('/site/page', 'view' => 'about'), 'icon' => 'fa fa-windows', 'active' => ($currController == 'site' and $currAction == 'page' )), array('label' => 'Contact', 'url' => array('/site/contact'), 'icon' => 'fa fa-connectdevelop', 'active' => ($currController == 'site' and $currAction == 'contact' )), //'---', //array('label'=>'NAV HEADER'), )), ); ?>
yiiHeart
Не знаю с чем связано. Но возможно удаление не будет работать.
Тогда в контроллере вместо
public function actionDelete($id) { $this->loadModel($id)->delete();..
пишите
public function actionDelete($id) { $this->loadModel($id)->deleteByPk($id);..
4. Выводим модальные окна
в index модели в разделе кнопок
array(
'class' => 'bootstrap.widgets.TbButtonColumn',
'template' => '{view}',
'buttons' => array
(
'view' => array
(
//'url' => '$data->id."|".$data->parent_id',
'url' => '$data->id',
'click' => 'function(){
data=$(this).attr("href").split("|")
$("#myModalHeader").html(data[0]);
$("#myModalBody").load("' . $this->createUrl('modalView') . '/"+data[0]+"");
$("#myModal").modal();
return false;
}',
),
)
),
),
));
?>
модальное окно там же
<?php
$this->widget('bootstrap.widgets.TbButton', array(
'buttonType'=>'submit', 'icon'=>'fa fa-print','label'=>'Export', 'type'=> 'primary'));
?>
<?php echo CHtml::endForm(); ?>
<?php $this->endWidget(); ?>
<?php
$this->beginWidget(
'bootstrap.widgets.TbModal', array('id' => 'myModal')
);
?>
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h4 id="myModalHeader">Modal header</h4>
</div>
<div class="modal-body" id="myModalBody">
<p>One fine body...</p>
</div>
<div class="modal-footer">
<?php
$this->widget(
'bootstrap.widgets.TbButton', array(
'label' => 'Close',
'url' => '#',
'htmlOptions' => array('data-dismiss' => 'modal'),
)
);
?>
</div>
в контроллере
public function actionModalView($id)
{
$this->renderPartial('view', array(
'model' => $this->loadModel($id),
));
}
вьюшку можете поправить по усмотрению5. Расширяем поле ввода модели в круде
- \protected\extensions\heart\gii\crud\views\index.php
textField($model,'model',array('class'=>'span8')); ?>
textField($model,'controller',array('class'=>'span8')); ?>
6.Страница на всю ширину экрана
- ..\protected\extensions\heart\views\layouts\column2.php
<?php /* @var $this Controller */ ?> <?php $this->beginContent('//layouts/main'); ?> <div class="row-fluid"> <div class="span2" > <div id="sidebar" > <?php $box = $this->beginWidget( 'bootstrap.widgets.TbBox', array( 'title' => 'Действия', 'headerIcon' => 'icon- fa fa-list-alt' ) ); ?> <?php $this->widget( 'bootstrap.widgets.TbTabs', array( 'type' => 'pills', 'stacked' => true, 'tabs' => $this->menu, ) ); ?> <?php $this->endWidget(); ?> </div><!-- sidebar --> </div> <div class="span9" style="width:80%;"> <div id="content"> <?php echo $content; ?> </div><!-- content --> </div> </div> <?php $this->endContent(); ?>
7.Модифицированный CRUD
по адресу
..\protected\extensions\heart\gii\crud\templates
https://drive.google.com/open?id=0B8SBzylZ-emONUJvNkZRRERmWmc&authuser=0
получите следующее
Комментарии
Отправить комментарий