Теги: Практика
24.05.2021
Во третьей части будем дорабатывать третий проект. У нас есть «голая» верстка, но нет еще js-кода, который бы оживил страницу. В проекте есть две страницы index.html и modules.html, каждая страница представляет из себя набор блоков. Страница index.html должна быть реализована в виде большого слайдера…
16.03.2021
Во второй части будем дорабатывать второй проект. У нас есть «голая» верстка, но нет еще js-кода, который бы оживил страницу. Начнем с модальных окон — js-код возьмем из первой части, но доработаем его. Нужно, чтобы модальное окно, которое открывается через минуту, открывалось только в том случае, если не открыто другое модальное окно.
10.03.2021
Купил на Udemy видеокурс «Практический JavaScript» от Ивана Петриченко, но моих знаний для просмотра оказалось явно маловато. Постоянно вылезают проблемы, с которыми раньше не сталкивался. Так что решил сделать для себя краткий конспект — как решал ту или иную проблему. Первое, с чем столкнулся — не запускается сборка проекта.
27.02.2021
У нас есть еще проблема с временной зоной — в базе данных мы храним дату и время в UTC. Будем показывать московское время для всех не аутентифицированных пользователей, а для аутентифицированных добавим возможность задать часовой пояс в личном кабинете. Мы добавим поле timezone в таблицу БД users и будем хранить…
21.02.2021
После регистрации и подтверждения адреса почты мы должны назначить пользователю роль user, чтобы он мог добавлять посты и оставлять комментарии. Это значит, что роль user должна существовать на момент запуска блога и эту роль нельзя удалить через панель управления. Поэтому сделаем так, чтобы роль…
12.02.2021
Продолжаем работать с корзиной, которая позволяет восстановить посты блога, удаленные по ошибке. Нам надо создать контроллер, который позволит работать с удаленными постами, добавить несколько маршрутов и создать шаблон для просмотра списка удаленных постов. Кроме того, надо защитить созданные маршруты…
08.02.2021
Загрузка изображений работает, но у нас нет валидации данных формы. Кроме того, загрузить изображение может любой желающий — нет проверки прав на выполнение этого действия. Так что давайте разберемся с этими двумя проблемами. В методе ImageController::upload() создадим объект валидатора и вызовем метод fails() или passes().
26.01.2021
У нас предусмотрена возможность загрузки изображения для категории и поста блога. Имя файла изображения сохраняется в базе данных — это поле image в таблицах categories и posts. Давайте для начала просто загрузим изображение для категории и сохраним имя файла в БД — а потом напишем отдельный класс ImageSaver…
22.01.2021
Хотя у нас простой блог, но может возникнуть необходимость создания страниц сайта — что-то типа «Об этом сайте» или «Размещение рекламы». И у администратора должна быть возможность такие страницы создавать, редактировать и удалять. Давайте создадим еще одну таблицу базы данных pages…
18.01.2021
Теперь о правах и ролях пользователей. У нас уже есть форма редактирования пользователя — можем в нее добавить checkbox-ы, позволяющие выбрать права и роли. Еще один способ — создать отдельную страницу в панели управления, где можно будет назначать для пользователя права и роли.