Подсказки по Yii. Глава одиннадцатая.
Действия до валидации и после.
Иногда необходимо выполнить какие-нибудь действия до валидации.
Например в зависимости от значения переменной задать название сценария для валидации:
, здесь field2 и field3 - поля, которых нет в БД, но они объявлены в модели.
И после валидации можно выполнить некий код:
В модели ещё есть просто beforeValidate().
В данном случае мы рассмотрели onBeforeValidate(), которая аргументом принимает событие.
Добавляем индикатор загрузки при ajax запросах.
Выполняя ajax запрос очень полезно показывать пользователю "что что-то происходит" и его клик по ссылке/кнопке был не напрасен.
Добавим дивчик на страницу:
Стили:
Отображение и скрытие дивчика:
Пути к папкам.
Наверное многие сталкивались с загрузкой изображений и указанием абсолютных путей к папке, в которую будут складываться загруженные файлы.
На помощь может прийти старый добрый dirname(__FILE__);/dirname(__FILE__) . '/../'; и другие вариации.
Но в Yii есть метод getPathOfAlias, использование которого является правильным и красивым решением.
Например, для загрузки в папку uploads
используйте:
Для загрузки в папку uploads/qrcodes
используйте:
Для загрузки в папку protected/modules/cropimage используйте:
Использовать
нельзя по той причине, что папка protected закрыта для доступа через htaccess.