Поиск по блогу
30.08.2019
На главной странице панели управления будем показывать две таблицы — новые заказы и заказы в работе. Чтобы администратор магазина сразу видел, какие заказы надо обработать, у каких — отслеживать оплату и доставку, а какие — можно завершать. Итак, вносим изменения в контроллер DefaultController и view-шаболон default/index.php.
28.08.2019
Чтобы создать модель для работы с заказами в админке — используем генератор кода Gii. Переходим по ссылке «Model Generator», задаем имя таблицы БД, имя класса модели и пространство имен. Далее используем «CRUD Generator», который создаст нам контроллер и view-шаблоны. И мы получим готовой код для просмотра и редактирования заказов.
25.08.2019
У WordPress есть отдельный класс WP_Query, который умеет строить запросы к БД, выполнять их и сохранять результаты. Этот класс обрабатывает поступающие URL-запросы, строит на их основе SQL-запросы к базе данных и выполняет их. Из коробки WordPress понимет URL-запросы на отдельные посты, страницы, а также на несколько архивов…
24.08.2019
Исторически сложилось, что латиница предпочтительнее в URL, нежели кириллица. Автоматический транслит WordPress не поддерживает, и чтобы система научилась самостоятельно производить транслитерацию, нужен плагин. Их сущестует великое множество, давайте и мы создадим свой велосипед. Заодно посмотрим, какие подводные камни есть на этом пути.
21.08.2019
Как нетрудно догадаться из названия, метод afterSave() модели вызывается после метода save(), который осуществляет сохранение данных в БД. Например, мы хотим записать в сессию сообщение об успешном сохранении записи, чтобы затем вывести это сообщение в шаблоне. В этом случае просто добавляем метод afterSave() в класс модели.
19.08.2019
Хорошо, с публичной частью сайта мы закончили, теперь займемся панелью управления. Для этого создадим модуль с помощью генератора кода Gii. Модуль можно рассматривать как миниатюрное приложение, состоящие из моделей, представлений, контроллеров и других вспомогательных компонентов.
17.08.2019
Осталось только отправить письмо покупателю о заказе. Для отправки почты Yii2 предлагает расширение swiftmailer, которое нужно просто настроить. Настраивается оно в файле config/web.php. Обратите внимание на настройку useFileTransport: когда она имеет значение true — письмо не отправляется реально, что нам и нужно.
16.08.2019
На момент написания первой части, моих знаний было недостаточно, чтобы добавить мета-теги keywords и description для страниц списка записей. Т.е. на страницу списка записей выбранной рубрики (категории) и на на страницу списка записей с выбранной меткой (тегом). Теперь можно и продолжить — давайте создадим плагин…
15.08.2019
Если название мета-поля начинается с нижнего подчеркивания, например _edit_time, то такое мета-поле считается защищенным — используется для внутренних целей WordPress. Такие защищенные метаполя не выводятся в блоке мета-полей при редактировании записи. Проверить, является ли поле защищенным…
15.08.2019
В WordPress есть возможность для каждой записи любого типа (post, page и прочие) задавать неограниченное количество параметров в виде пар ключ-значение. Для их хранения предусмотрена отдельная таблица в базе данных wp_postmeta. Эти параметры называются произвольными полями или мета-полямии записи.