Tag Archive: yii

Yii: настраиваем капчу

Yii имеет встроенный класс для генерации и валидации капчи, что достаточно удобно. Давайте рассмотрим как можно настроить цвет, фон капчи под себя. Сначала всё стандартно, подключаем action в контроллере: ‘captcha’ => array( ‘class’ => ‘CCaptchaAction’, ), В модели прописываем валидацию:…
Read more

Yii: функция автогенерации пароля

Удобный Security Manager класс представляет специальный метод для случайной генерации последовательности символов. Удобно использовать следующим образом: $password = Yii::app()->getSecurityManager()->generateRandomString(10); На входе у метода: количество символов для генерации. Также данный класс имеет множество различных очень полезных функций для шифрования, дешифрирования данных…
Read more

Yii: использование портлет

Очень часто требуется иметь на сайте блок, который присутствует на каждой странице и который делает определённое действие. Виджет не совсем подходит так как требуется навесить какую-то логику обработки. Требуется иметь такой мини контроллер, который бы легко встраивался на любую страницу…
Read more

Простой кэш страницы на Yii за 1 минуту

Бывает требуется постоянно рендерить большую и объемную страницу, где присутствует множество запросов к локальной базе данных или даже запросы по API к сторонним сайтам. Страницу как бы и показать нужно, но не обязательно дёргать постоянно всех (базу,API и так далее)…
Read more

YiiMailer шаблон отсылки сообщений

Самое удобное расширение для yii по отправке сообщений. Сам YiiMailer можете поставить через Composer. Пример: $mail = new YiiMailer(); $mail->setFrom(Yii::app()->params[‘supportEmail’], ‘Компания’); $mail->setTo($model->email); $mail->setSubject(‘Наша тема’); $mail->setAttachment($PDFFile); $mail->setBody($message); $mail->send();

Кастомизация пагинатора (Pager) в Yii

Очень часто встаёт необходимость заменить классический пагинатор в Yii на свой. Переписывать все CSS стили можно преопределив класс pager, также first hidden, previous hidden, page selected, page, next,last. В коде виджета zii нужно (если это требуется) прописать свои параметры пагинатора: ‘pager’ => array(…
Read more

Шаблоны статических методов для модели в Yii

Очень часто нужны примеры методов для работы с моделями в yii. Привожу частые шаблоны:

Логирование операций в базу — Yii

Очень удобное расширение для логирования операций в базу данных. Для этого нам потребуется скачать расширение Затем прописать в config где секция ‘class’=>’CLogRouter’: array( ‘class’=>’ext.LogDb’, ‘autoCreateLogTable’=>true, ‘connectionID’=>’db’, ‘enabled’=>true, ‘levels’=>’error,warning,info’, ), Этого достаточно для записи всех необходимых событий в базу данных и…
Read more

Реляционные связи Active Record Yii — в трёх словах

Что нужно запомнить? Есть три основных типа связей в реляционных базах данных: Один ко многим [BELONGS_TO / HAS_MANY]. Как пример: Есть пользователь в таблице user(A), и есть таблица заказов orders(B). Соответственно записи заказов B принадлежат одному пользователю в таблице А….
Read more

Email extension проблема с кодировкой — Yii

Натолкнулся на проблему с русской кодировкой в расширении для yii — email Хотя мы и устанавливаем UTF-8 кодировку на письма, русский текст идет в западноевропейской кодировке. Решением этой проблемы стало добавление строки

После строки 140:

Также не забудьте в…
Read more