Yii заметки

Yii Boostrap Input без Label
'labelOptions' => array('label' => false)

textFieldRow без значения.
'value'=>$model->price1=='%'?'':$model->price1

dropDownList надпись если пусто
'empty' => 'Все'

Скрытое поле
$form->hiddenField($model, 'name');
<?php echo $form->hiddenField($model,'fieldName',array('value'=>'foo bar')); ?>
or without model
<?php echo CHtml::hiddenField('name' , 'value', array('id' => 'hiddenInput')); ?>

nofollow
CHtml::link('mylinktext', 'myurl', array('rel'=>'nofollow', 'target'=>'_blank'));

Yii убрать звездочки
<?php echo $form->labelEx($model,'name'); ?>
Заменить на
<?php echo $form->label($model,'name'); ?>

Скрыть phpsessid c url в config/main.php
	'components'=>array(
			'session'=>array(
				'class'=>'CHttpSession',
				'useTransparentSessionID' =>(isset($_POST['PHPSESSID'])) ? true : false,
				), 

Изменить итоговый текст.
<?php $this->widget('bootstrap.widgets.TbListView',array(
	'dataProvider'=>$model->search(),
	'itemView'=>'_view',
        'summaryText'=>'Всего {count}. Страница {page} из {pages}',
)); ?>

Количество в пагинации
		$dataProvider=new CActiveDataProvider('Products');
        $dataProvider->pagination->pageSize = 9;
		$dataProvider->pagination->pageVar = 'page';
		
В Navbar добавить ID для <li>
return array('label'=>'Корзина пуста', 'url'=>'#', 'itemOptions'=>array('id'=>'recy'),);

Порядковый номер в CDataProvider
$counter = (int)substr($data->getID(), 8);

Счетчик в CListView
echo $index

Фильтр выподающий список в GridView 
        array(
			'name'=>'status',
			'filter'=>Helper::getStatusOptions(),
			'value'=>'Helper::getStatus($data->status)',
            'headerHtmlOptions'=>array('class'=>'span2'),
		),
		
Класс для заголовка в GridView
'headerHtmlOptions'=>array('class'=>'span2'),

Значение по умолчанию dropDownList 
'options'=>array(31=>array('selected'=>'selected'))

Отправить post запрос через CHtml::link()
<?php echo CHtml::link('город', "#", array("submit" => array('site/selectcity/', 'city' => 3161))); ?>
Вот post запрос
	echo CHtml::link('ufa', array('post/index/'),
					array(
					'submit' => array('post/index/'),
					'params' => array('Post[city]' => 'ufa'),
					)
		);
В контроллере $city_id = Yii::app()->request->getParam('city');
http://yii.vingtsun-grodno.com/chtmllink/

Ссылка на экшен с иконкой и tooltip
<?php echo CHtml::link('<i class="icon-pencil"></i>',array('updatestatus','id'=>$data->id),
		array('rel'=>'tooltip', 'data-original-title'=>'Обновить статус')); ?>
		
Yii Detail View скрыть пустые строки
'visible' => !empty($model->price),

Название контроллера, экшена и полностью
<?php 
echo Yii::app()->controller->getId(); 
echo '<br>';
echo Yii::app()->controller->action->id;
echo '<br>';
echo Yii::app()->controller->getRoute();
?>

если это главная страница
if(Yii::app()->request->urlReferrer == Yii::app()->request->hostInfo.'/')

Запись в лог файл
Yii::log("CallFromUserController",'warning', 'application');
Если массив
Yii::log(CVarDumper::dumpAsString($_POST),'warning', 'application');
Дебаг CActiveRecord
Yii::log("Ошибка сохранения статуса: " . var_export($model->getErrors(), true), CLogger::LEVEL_WARNING, __METHOD__);


Для Linux название контроллера, в views название папки тоже productsattribute
'controllerMap' => array(
	'productsattribute' => 'application.controllers.ProductsAttributeController',
),

В controller не загружать
Yii::app()->clientScript->scriptMap=array('jquery.yiiactiveform.js'=>false,'jquery.js'=>false,);

очищается кэш командой 
Yii::app()->cache->flush()

меню с потверждением
array('label' => 'Удалить весь кэш','url' => array('/settings/flushcache'), 'linkOptions'=>array('confirm'=>'Are you sure want to quit?')),

Критерий со связью (с join)
if ($this->with_fotos>0) {
	$criteria->with = array('images');
	$criteria->together = true;
	$criteria->addCondition("images.image IS NOT NULL");
}
http://www.yiiframework.com/wiki/280/1-n-relations-sometimes-require-cdbcriteria-together/

Критерий + scope + merge
$criteria->scopes='groupByType';
$criteria->mergeWith($dataProvider->criteria);

Критерий EXISTS в другой таблице
if ($this->with_fotos>0) {
	$criteria->addCondition('EXISTS (select 1 FROM {{post_images}} as ADIMAGES WHERE ADIMAGES.product_id = t.id)');
}

Отключить скрытое поле в checkBox
<?php echo $form->checkBoxRow($model,'with_fotos',array('uncheckValue'=>NULL)); ?>

В контроллере изменить путь к view
public function getViewPath() {
  $controllername = $this->getId();
  $newPath = "application.views.extra";
  $newPath = YiiBase::getPathOfAlias($newPath);
    return $newPath;
}

убрать home из breadcrumbs
    <?php $this->widget('zii.widgets.CBreadcrumbs', array(
        'links'=>$this->breadcrumbs,
        'homeLink'=>false // add this line
    )); ?><!-- breadcrumbs -->
'homeLink' => false,
'homeLink' => CHtml::link('Главная', Yii::app()->homeUrl),

Special $variables in CGridView and CListView
http://www.yiiframework.com/wiki/252/special-variables-in-cgridview-and-clistview/


Yii 1.1: How To add id or class to CMenu items ? 
<?php $this->widget('application.components.MyMenu', array(
    'id' => 'myMenu',
    'items' => array(
       array('label' => 'First', 'url' => array('#'), 'itemOptions'=>array('id' => 'first'), ),
       array('label' => 'First', 'url' => array('#'), 'itemOptions'=>array('id' => 'second'), ),
    ),
));
?>