Ściąga, często używane itp Wyświetla nazwę aktualnie zalogowanego użytkownika Yii::app()->user->name; Wyświetla id aktualnie zalogowanego użytkownika Yii::app()->user->id; Zwraca true jezeli użytkownik jest gościem - nie jest zalogowany: Yii::app()->user->isGuest Wylogowuje użytkownika: Yii::app()->user->logout(); Katalog bazowy przechowujący kontrolery. Np: C:xampp2htdocsyiiblogplusprotectedcontrollers. Poniższy przykład wraz z separatorem ścieżek wyświetli np to: C:xampp2htdocsyiiblogplusprotectedcontrollersSiteController.php Yii::app()->controllerPath . DIRECTORY_SEPARATOR . 'SiteController.php'; Katalog bazowy pliku z layoutem dla obecnego widoku. Np: C:xampp2htdocsyiiblogplusprotectedviewslayouts Yii::app()->layoutPath . DIRECTORY_SEPARATOR . 'main.php'; Katalog bazowy aplikacji. Np: C:xampp2htdocsyiiblogplusprotected Yii::app()->basePath; Url bazowy aplikacji. Np: /yiiblogplus Yii::app()->baseUrl Adres bazowy aplikacji. Np: /yiiblogplus/index.php: Yii::app()->homeUrl Przenosi do głównej strony serwisu: $this->redirect(Yii::app()->homeUrl); Przenosi do akcji określonego kontrolera z parametrem: $this->redirect(array('kontroler/akcja','id'=>'dodatkowy_param')); Odświeża widok akcji aktualnego kontrolera: $this->refresh(); Generuje adres url. Np: /yiiblogplus/index.php?r=register/activate&zmienna=wartosc $this->createUrl('register/activate', array('zmienna'=>'wartosc')) Generuje pełny adres url gotowy np do wysłania w wiadomosci e-mail. Np: http://localhost/yiiblogplus/index.php?r=register/activate&zm=wartosc "http://{$_SERVER['SERVER_NAME']}".$this->createUrl('register/activate', array('zm'=>'wartosc')) Dostęp do katalogu używanego thema i jego zasobów: Yii::app()->theme->baseUrl.'/css/main.css' Osadzanie pliku CSS w pliku layoutu. Wykonujemy oczywiście w bloku <head>: <?php echo CHtml::cssFile(Yii::app()->theme->baseUrl.'/css/main.css'); ?> Dostęp do zmiennych zdefiniowanych w konfiguracji aplikacji. Params jest tablicą. W tym przypadku zmienna 'params' zawiera w sobie drugą tablicę o nazwie 'smtp'. Posługując się poniższym wyrażeniem odczytujemy wartość 'host' z tablicy 'smtp': Yii::app()->params['smtp']['host']; Taka konfiguracja w pliku konfiguracyjnym 'main.php' ładowana jest następująco: 'params'=>array( 'smtp'=>require(dirname(__FILE__).'/smtp.php'), 'view'=>require(dirname(__FILE__).'/view.php'), ), Nazwa aplikacji wczytana z pliku konfiguracyjnego. Yii::app()->name Osadzanie widoku częściowego (partial) w widoku i przekazanie do niego zmiennych: <?php $this->renderPartial('_form', array( 'post'=>$post, 'update'=>false, )); ?> Dekoduje znaki specjalne na encje tak, że sotają wyświetlone na stronie a nie interpretowane: CHtml::encode($user->description); Jak zbudować link graficzny: CHtml::link(CHtml::image('img/link.gif','AlternateText'), '#', array('onclick'=>'clientSide()')) Jak bez formularza spowodować wysłanie strony jako _POST po kliknięciu na link: CHtml::linkButton('Wyloguj',array( 'submit'=>'', 'params'=>array('command'=>'logout') )); ?> A w akcji (lub np init()) kontrolera: if(isset($_POST['command']) && $_POST['command']==='logout') { . . . } Jak dynamicznie (w kodzie kontrolera) dodawać pliki css i js: public function init() //init to funkcja kontrolera { $uri = 'path to your controller-specific css'; Yii::app()->clientScript->registerCssFile($uri, 'screen, projection'); return parent::init(); } Podobne: registerScript(); registerScriptFile(); registerCss() Więcej na ten temat pod tym linkiem: http://www.yiiframework.com/forum/index.php?/topic/4441-automagical-inclusion-of-css-file/ Jak sprawdzić czy wywołanie strony (request) jest POST (po wysłaniu formularza): Yii::app()->request->isPostRequest |