Работа с Frontend на Yii 2
В данном документе приведены типовые задачи и ошибки, которые возникают при работе с фронтенд частью.
Javascript при работе с Yii 2
- Не рекомендуется возвращать false в обработчиках событий. Если требуется предотвратить действие браузера по умолчанию, то следует использовать метод
preventDefault(). - В случае, когда нужно предотвратить всплытие (bubbling) события к родительским элементам, следует использовать метод
stopPropagation(). - Если требуется предотвратить работу всех последующих обработчиков конкретного события на данном элементе, следует использовать метод stopImmediatePropagation.
- Название переменных, содержащих объекты jQuery, рекомендуется начинать с символа
$.
Ресурсы (AssetBundles)
Для подключения ресурсов (js/css файлов) следует использовать AssetBundles.
class FlushAsset extends \yii\web\AssetBundle { /** * @inheritdoc */ public $sourcePath = '@common/modules/main/assets/src'; /** * @inheritdoc */ public $css = [ ]; /** * @inheritdoc */ public $js = [ 'js/flush.js' ]; /** * @inheritdoc */ public $depends = [ 'yii\web\YiiAsset' ]; }
- AssetBundles, которые необходимо реализовать в рамках определенного модуля, должны располагаться в отдельной папке assets внутри самого модуля.
- Подключаемые файлы js/css в рамках реализованного AssetBundle должны находиться в отдельной папке “src”, которая в свою очередь располагается внутри assets:
