Карманная памятка по YII

  1. Как получить имя сайта

<?=CHtml::encode(Yii::app()->name); ?>

2)Как установить вызываемый контроллер по умолчанию вместо ‘site’

надо в config/main.php установить значение

‘defaultController’=>‘post’,

‘defaultController’=>‘user’, и т.д.

3)Как добраться до корня сайта

<?php echo dirname(Yii::app()->basePath);?>

<?php echo Yii::getPathOfAlias(‘webroot’); ?>

4)Как прописывать src в картинке чтобы они везде показывались

<img src="<?=Yii::app()->request->baseUrl; ?>/images/logo.gif" alt="" />

5)Как использовать константы сайта

В config/main.php добавляем, например

     'params'=&gt;array(


	'smtpEmail'    =&gt; 'user@mail.ru',


	'smtpPassword' =&gt; 'p[assword',


	'smtpUsername' =&gt; 'username',


	'smtpHost'     =&gt; 'smtp.mail.ru',


),

И используем через

=Yii::app()->params[‘smtpEmail’];

6)Как вывести сообщение после отправки формы

Пишем в контроллере

Yii::app()->user->setFlash(‘contact_saved’,‘Thank you for contacting us. We will respond to you as soon as possible.’);

А в виюве

<?php if(Yii::app()->user->hasFlash(‘contact_saved’)){ ?>

&lt;div class=&quot;flash-success&quot;&gt;


	&lt;?php echo Yii::app()-&gt;user-&gt;getFlash('contact_saved'); ?&gt;


&lt;/div&gt;

<?php } ?>

  1. Как определить текущее действие

= Yii::app()->controller->action->id;

8) Валидация даты

В моделе models/users.php

public function rules()

{


	return array(


                            array( 'DateOfBirth', 'type', 'type' =&gt; 'date', 'dateFormat' =&gt; 'yyyy-m-d', 'message' =&gt; '{attribute} no es una fecha valida', ),

  1. Как хранить значения конфига в базе данных

/components/Controller.php

protected function beforeAction($action){

    /* CONFIGS */


    &#036;conf = Configs::model()-&gt;findAll();


    foreach(&#036;conf as &#036;k=&gt;&#036;c)


      &#036;params[&#036;c-&gt;name] = &#036;c-&gt;value;





    Yii::app()-&gt;setParams(&#036;params);





    /* END CONFIGS */

return true;

}

А потом используем

=Yii::app()->params[‘smtpEmail’];

Спасибо, пригодиться

Отлично, спасибо :)

Лучше оформить в виде PDF файла.