Виджеты — Yii2

Виджеты — это некоторые компоненты, которые предназначены в первую очередь для реализации элементов интерфейса и которые можно использовать многократно. Классическим примером такого элемента может быть меню. Меню используется практически на каждой странице сайта и от страницы к странице остается неизменным. То есть, на каждой странице нужно повторять один и тот же код для получения меню и его вывода. Но благодаря виджетам можно избежать этой утомительной процедуры и создать меню только один раз, а затем просто вызывать его. Размещаются виджеты в папке components, которую нужно создать в корне приложения. Для создания виджета…

Read More

Создание формы — Yii2

Для добавления формы на страницу предназначен класс yii\widgets\ActiveForm. Кроме того, имеются дополнительные методы в yii\helpers\Html. Форма в большинстве случаев связана с моделью, которая проверяет данные формы на сервере. Модель наследует класс yii\db\ActiveRecord или класс yii\base\Model. Создаем модель для формы обратной связи Создаем action для страницы, где будет форма обратной связи Создаем шаблон страницы формы обратной связи В результате получим такой html-код: Можно добавить для формы идентификатор и класс, а для полей формы — подсказки и placeholder-ы:

Read More

Добавление мета тегов — Yii2

Мета-теги — это html-теги, с помощью которых указываются дополнительные данные о странице сайта. Влияют на то, как отображается и какую позицию занимает страница в поисковой выдаче. При прочих равных условиях поисковики отдают предпочтение сайту с грамотно сформированными мета-тегами. Установка мета-тегов через контроллер: В layout-шаблон добавить вызов метода head(): В результате получим Мета-теги можно зарегистрировать и в view-шаблоне: Результат будет аналогичный: Установка $this->title в шаблоне переопределит значение, установленное в контроллере. Здесь стоит обратить внимание на следующее: если зарегистрировать один и тот же тег дважды, то этот мета-тег два раза и будет добавлен на страницу.…

Read More

Отправка данных AJAX — Yii2

Отправка данных на сервер без перезагрузки страницы уже стала стандартом де факто. За счет этого уменьшается время отклика, да и выглядит это достаточно привлекательно, сопровождаясь красивыми анимационными эффектами. Создадим форму обратной связи и изучим, как можно отправить данные на сервер без перезагрузки страницы. Форма обратной связи Для начала создадим новый action в контроллере SiteController: Для проверки данных формы создаем класс модели Feedback: Следующим шагом, создаем view-шаблон: Отправка формы с использованием AJAX Для начала зарегистрируем в view-шаблоне js-код, который будет отправлять данные формы с использованием объекта XmlHttpRequest: И внесем изменения в метод контроллера: Изменения получились минимальные.…

Read More

Подключение js и css — Yii2

Ресурс в Yii — это файл, который нужен для формирования страницы сайта. Это может быть CSS-файл, JavaScript-файл, файл шрифта, файл изображения или видео и так далее. Ресурсы располагаются в доступных по протололу HTTP директориях и обслуживаются непосредственно сервером Apache или Nginx. Yii управляет ресурсами как единицей комплекта ресурсов. Комплект ресурсов — это набор ресурсов (файлов), расположенных в определенной директории. При регистрирации комплекта ресурсов в представлении, для страницы сайта включается набор CSS и JavaScript файлов. Комплект ресурсов определяется как PHP-класс, наследующиий yii\web\AssetBundle. Имя комплекта соответствует полному имени класса без ведущего обратного слеша.…

Read More