Создание Доски объявлений с использованием фреймворка YII2.
Автор: Жданов В.В.
Данный курс - практикум по созданию сайта с использованием фреймворка YII2.
Цель: создание небольшого сайта с нуля до "коробочного" варианта, готового к размещению на хостинге.
Теории здесь не много, больше практической работы по принципу: "произвел действие - получил результат".
Также по максимуму используем функционал фреймворка YII2.
Программируем - и кайфуем!
# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом уроке мы рассмотрим тематику разработки и настроим инструменты Отчёт отправил: 8275. Tekashnik Выполнено за 3 час. 57 мин. [Показать отчёт] Научился: Установил IDE и Open Server |
|||||
2 |
![]() |
1 тест |
|||
На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене Отчёт отправил: 8275. Tekashnik Выполнено за 26 мин. [Показать отчёт] Научился: Установили YII2))) полёт нормальный) |
|||||
3 |
![]() |
2 теста |
|||
На этом уроке мы настроим удобные для человека ссылки и поменяем название сайта при помощи настроек config/web.php Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт] Научился: Всё по красоте)) ЧПУ рулят) |
|||||
4 |
![]() |
|
|||
На этом уроке мы создадим схему базы данных для нашего проекта
Отчёт отправил: 8275. Tekashnik Выполнено за 14 мин. [Показать отчёт] Научился: Разработка БД прошла успешно) |
|||||
5 |
![]() |
1 тест |
|||
На этом уроке мы создадим базу данных, подключим ее к нашему проекту и создадим таблицу пользователей при помощи механизма миграций Отчёт отправил: 8275. Tekashnik Выполнено за 14 мин. [Показать отчёт] Научился: Научились создавать миграцию. И с помощью неё создавать таблицу. Всё как обычно по красоте) |
|||||
6 |
![]() |
1 тест |
|||
На этом уроке мы подкорректируем модель User и реализуем аутентификацию на сайте через базу данных
Отчёт отправил: 8275. Tekashnik Выполнено за 19 мин. [Показать отчёт] Научился: Yii нормально так постарался для генерации кода)) |
|||||
7 |
![]() |
|
|||
На этом уроке создадим таблицу и модель Информация о пользователе
Отчёт отправил: 8275. Tekashnik Выполнено за 26 мин. [Показать отчёт] Научился: Снова миграции и опять и опять))) |
|||||
8 |
![]() |
1 тест |
|||
На этом уроке мы рассмотрим теоретические основы работы MVC и создадим новый контроллер в нашем проекте
Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт] Научился: Создавать контроллер и вьюшку)) |
|||||
9 | MVC - информация о пользователе |
|
|||
На этом уроке мы получим данные о пользователе из базы в представление
Отчёт отправил: 8275. Tekashnik Выполнено за 30 мин. [Показать отчёт] Научился: Выдёргивать информацию из БД)) |
|||||
10 | Пользователь - кто зарегистрирован сейчас? |
1 тест |
|||
На этом уроке мы получим информацию о текущем зарегистрированном пользователе, а также сделаем рефакторинг кода Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт] Научился: Переносить методы из контроллера в модель) |
|||||
11 | Новый пользователь - заготовка и меню |
|
|||
На этом уроке мы создадим действие и представление для добавления пользователя, а также добавим пункт меню "Регистрация" Отчёт отправил: 8275. Tekashnik Выполнено за 39 мин. [Показать отчёт] Научился: Создавать новые страницы и прикручивать их к пунктам меню в хедере)) |
|||||
12 | Новый пользователь - модель для формы |
1 тест |
|||
На этом уроке мы создадим модель параметров формы добавления пользователя
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 15 мин. [Показать отчёт] Научился: Состряпали модель для добавления Юзьверя |
|||||
13 | Новый пользователь - дизайн формы начало |
|
|||
На этом уроке мы зададим поля формы добавления пользователя
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 46 мин. [Показать отчёт] Научился: Создали форму для ввода нового пользователя, ещё кнопочку конфирм и прикрутить к бд)) |
|||||
14 | Новый пользователь - дизайн формы: поля и колонки |
1 тест |
|||
На этом уроке мы добавим все поля формы, кнопку сохранения, а также разместим поля в две колонки Отчёт отправил: 8275. Tekashnik Выполнено за 3 час. 21 мин. [Показать отчёт] Научился: Сделали форму регистрации нашего сайта) |
|||||
15 | Новый пользователь - сохранение нового пользователя |
1 тест |
|||
На этом уроке мы напишем алгоритм сохранения записи о пользователе и информации о нем
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 51 мин. [Показать отчёт] Научился: Много раз отвлекался, но ни одной ошибки не сделал, это просто удивительно))) |
|||||
16 | Красивая аутентификация на сайте |
|
|||
На этом уроке мы поменяем дизайн формы входа на сайт
Отчёт отправил: 8275. Tekashnik Выполнено за 8 час. 58 мин. [Показать отчёт] Научился: отрусифицировали форму |
|||||
17 | Что доступно Юпитеру? |
1 тест |
|||
На этом занятии мы научимся управлять доступом к пунктам главного меню
Отчёт отправил: 8275. Tekashnik Выполнено за 13 мин. [Показать отчёт] Научился: Научились показывать разное меню для авторизованного пользователя и гостя) |
|||||
18 | Объявления - создание базы и модели |
1 тест |
|||
На этом уроке мы создадим таблицу bulletins при помощи миграций и сгенерируем для данной таблицы класс ActiveRecord
Отчёт отправил: 8275. Tekashnik Выполнено за 12 мин. [Показать отчёт] Научился: Создали новую таблицу с помощью миграции и новую модель с помощью Yii генератора |
|||||
19 | Объявления - контроллер, представление и много записей |
1 тест |
|||
На этом уроке мы создадим контроллер и представление для работы с объявлениями, а также сделаем связь записей о пользователях и объявлениях типа "один-ко-многим" Отчёт отправил: 8275. Tekashnik Выполнено за 24 мин. [Показать отчёт] Научился: Сделали контроллер и вьюшку для объявлений))) |
|||||
20 | Объявление - функциональный дизайн страницы |
|
|||
На этом уроке мы сделаем дизайн страницы наших объявлений, который поможет нам работать с объявлениями в дальнейшем
Отчёт отправил: 8275. Tekashnik Выполнено за 19 мин. [Показать отчёт] Научился: Облогородили страницу Indех у объявлений.))) |
|||||
21 | Объявление - ограничение доступа |
|
|||
На этом уроке мы ограничим доступ неавторизированного пользователя к странице управления объявлениями, а также решим некоторые технические вопросы
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт] Научился: Как говорил классик: Ударим по бездорожью, разгильдяйству и бюрократизму Глиф-иконками)))) |
|||||
22 | Объявление - поля для пользовательских форм |
|
|||
На этом уроке мы создадим класс BulletinsForm и определим, какие поля будут использоваться при создании объявления Отчёт отправил: 8275. Tekashnik Выполнено за 21 мин. [Показать отчёт] Научился: Сделали модельку для наших Объявлений)) |
|||||
23 | Объявление - форма добавления объявлений |
1 тест |
|||
На этом уроке мы создадим представление для добавления объявлений и действие контроллера, запускающего это представление Отчёт отправил: 8275. Tekashnik Выполнено за 46 мин. [Показать отчёт] Научился: Сделали форму как обычно на бутстрапе)) |
|||||
24 | Объявление - сохранение в черновик |
|
|||
На этом уроке мы реализуем механизм сохранения нового объявления в черновик
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт] Научился: Добавили объявление в базу данных. Зачем мы сделали экшен actionAddbulletin() а не просто actionAdd(). Ведь именно по кнопке "Добавить объявление" мы переходим по ссылке /bulletin/add, а не по ссылке /bulletin/addbulletin Мне вот не понятен этот момент.... |
|||||
25 | Объявление - список |
|
|||
На этом уроке мы реализуем вывод сохраненных в базе объявлений в список
Отчёт отправил: 8275. Tekashnik Выполнено за 56 мин. [Показать отчёт] Научился: Сделали отображение объявлений из БД Сложности: Держать в голове, как всё работает))) |
|||||
26 | Объявление - всё на публику |
1 тест |
|||
На этом уроке мы сделаем наши объявления опубликованными
Отчёт отправил: 8275. Tekashnik Выполнено за 42 мин. [Показать отчёт] Научился: Сделали возможность публикации объявления) |
|||||
27 | Объявление - публикация на главной странице |
1 тест |
|||
На этом уроке мы разместим наши опубликованные объявления на главной странице сайта
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 46 мин. [Показать отчёт] Научился: Сделали вывод блоков на главной странице с опубликованными объявлениями |
|||||
28 | Объявление - скрыть нельзя удалить |
|
|||
На этом уроке мы реализуем возможность помещать объявления в группу удаленных, восстанавливать их оттуда, а также отключать их просмотр Отчёт отправил: 8275. Tekashnik Выполнено за 37 мин. [Показать отчёт] Научился: Теперь мы можем гонять объявления с панели на панель путём смены их статусов))) |
|||||
29 | Объявление - статусный рефакторинг |
1 тест |
|||
НА этом уроке мы сделаем рефакторинг методов работы со статусом объявлений
Отчёт отправил: 8275. Tekashnik Выполнено за 14 мин. [Показать отчёт] Научился: Отрефакторили)) в лучших традициях |
|||||
30 | Объявление - рефакторинг редактирования |
|
|||
На этом уроке мы реализуем редактирование путем небольшого видоизменения функции добавления записи
Отчёт отправил: 8275. Tekashnik Выполнено за 26 мин. [Показать отчёт] Научился: Всё редактируется)) |
|||||
31 | Объявление: запрос - в функцию & кнопка для изображений |
|
|||
На этом уроке мы сделаем рефакторинг метода index и добавим кнопки для перехода в режим работы с изображениями
Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт] Научился: Я как то не смог без глиф-иконки)) И мне кажется, что всё таки добавлять фото наверное правильней сделать на странице редактирования)) Хотя можно и здесь)) |
|||||
32 | Изображения - микс из миграций |
|
|||
На этом уроке мы через механизм миграций создадим таблицу photo и добавим поле для аватары в таблицу bulletins
Отчёт отправил: 8275. Tekashnik Выполнено за 23 мин. [Показать отчёт] Научился: А куда у нас пользователь будет загружать фотки? к нам на сайт? |
|||||
33 | Изображения - снова MVC |
|
|||
На этом уроке мы создадим модель, контролер и представление для работы с фото
Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт] Научился: Как водится навояли модельку и вьюшку. Валера, а курс уже окончен или он ещё дальше продолжится? |
|||||
34 | Изображения - работа с моделью |
|
|||
На этом уроке мы передадим модель нашего объявления в представление
Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт] Научился: Вроде как и вьюшку сделали..... а ничего по большей части то не изменилось.. изображений то нет))) |
|||||
35 | Работаем над ошибками - YII2 в помощь |
|
|||
На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт] Научился: Отличный урок, недавно об этом писал. Но видимо мой опыт мне неплохо помогает использовать внутренний инструмент YII2)) |
|||||
36 | Изображения - где живут картинки |
1 тест |
|||
На этом уроке мы создадим папку для изображений, разместим там изображение по умолчанию, а также создадим универсальные параметры пути и изображения по умолчанию
Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт] Научился: Поработали с файлом конфиг. Передали данные из контроллера во вьюшку)) Полёт нормальный) |
|||||
37 | Изображения - модель формы |
|
|||
На этом уроке мы создадим модель PhotoForm для работы с изображениями Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт] Научился: Создали модельку ФотоФорм. |
|||||
38 | Изображение - загрузочное представление |
|
|||
На этом занятии мы создадим форму представления, через которое будет загружаться изображение Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 37 мин. [Показать отчёт] Научился: Почему то если выдираем неправильный файл, то выводится не наш Мессадж, а "Only files with these extensions are allowed: jpg, png." (подробности на скриншоте) Сложности: Сделал опечатку ещё на прошлом уроке в модельке в этом слове extensions, пришлось немного поискать)) Хотя когда стал последовательно читать об ошибке всё нашлось)) |
|||||
39 | Изображение - загрузка файла на сайт |
1 тест |
|||
На этом уроке мы реализуем алгоритм загрузки изображений на сайт
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 22 мин. [Показать отчёт] Научился: Я очень удивился, когда первое сохранение файла у Валерия прошло удачно, ведь был использован параметр 'defaultImage'. У меня даже глаза округлились))) А чтобы после загрузки файла перекидывало на photo/index нужно чтобы функция upload() возвращала true при успешном завершении))) |
|||||
40 | ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР |
без видео |
|||
Мы уже многое сделали на нашем видеокурсе, и автору очень важно узнать Ваше мнение о данном курсе и получить обратную связь в форме видео-презентации и ответов на вопросы. Сделай видео-презентацию своего сайта. Отчёт отправил: 8275. Tekashnik Выполнено за 2 мин. [Показать отчёт] Научился: Делать видеообзор) В общем красноречивей скажет мой ролик. всем приятного просмотра. А Валере спасибо за курс, ждём продолжения. Курс очень клёвый, нужный, полезный и всякое такое) Всем добра! Сложности: Сделать видеообзор Видеообзор: _VswPdBsyl0 |
|||||
41 | Изображение - сохранение пути в базу |
|
|||
На этом уроке мы реализуем сохранение пути к файлу изображений в базу данных
Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт] Научился: Добавили в таблицу ссылки на фоточки и теперь... О Боже!!! Они отображаются))) |
|||||
42 | Изображение - управление картинками |
|
|||
На этом уроке мы займемся дизайном - создадим выпадающее меню управления изображением
Отчёт отправил: 8275. Tekashnik Выполнено за 12 мин. [Показать отчёт] Научился: Сделали кнопочку под фоточкой с менюшкой)) Я уже не первый раз говорю, но Валера почему ты не пользуешься emmet? |
|||||
43 | Изображение - JS - немного теории и пижонства |
1 тест |
|||
На этом уроке мы рассмотрим работу JS на yii2
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 9 мин. [Показать отчёт] Научился: Валера, глянь на скриншот.... почему то не работает.... я уже весь синтаксис и вдоль и поперёк просмотрел... что ему не нравится?? Сложности: Почему то не работает. |
|||||
44 | Изображение - JS - глобализация |
|
|||
На этом уроке мы перенесем все скрипты JS в отдельный файл, а также реализуем открытие и скрытие элементов ввода информации Отчёт отправил: 8275. Tekashnik Выполнено за 1 день 1 час. 35 мин. [Показать отчёт] Научился: Длинный урок, можно запутаться)) Но вроде всё вышло...))) |
|||||
45 | Изображение - JS - сохранение информации в базу |
1 тест |
|||
На этом уроке мы научим нашу систему сохранять информацию об изображениях в базу с использованием технологии ajax Отчёт отправил: 8275. Tekashnik Выполнено за 19 час. 15 мин. [Показать отчёт] Научился: Немного познакомились с Ajax Сложности: Продолжить после двухнедельного перерыва |
|||||
46 | Изображение - JS - извлечение методом ajax |
|
|||
На этом уроке мы научим ajax получать информацию об изображениях из базы
Отчёт отправил: 8275. Tekashnik Выполнено за 57 мин. [Показать отчёт] Научился: Научились получать с помощью Ajax данные. |
|||||
47 | Изображение - аватарка - вывод на главной странице |
|
|||
На этом уроке мы реализуем вывод главных изображений каждого объявления (далее - аватарки) на главной странице Отчёт отправил: 8275. Tekashnik Выполнено за 28 мин. [Показать отчёт] Научился: Аватар уже работает))) |
|||||
48 | Изображение - аватарка - работа над ошибками связей |
|
|||
На данном уроке мы исправим ошибки вывода фотографий, очистим базу и заново загрузим в нашу базу фотографии в одно из объявлений Отчёт отправил: 8275. Tekashnik Выполнено за 34 мин. [Показать отчёт] Научился: Сделали исправления, кстати я видел косяки, чуть раньше урока)) |
|||||
49 | Изображение - аватарка - как стать главной |
|
|||
На этом уроке мы создадим код, делающий любое фото главным
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 5 мин. [Показать отчёт] Научился: Уфф...))) Сделал маленькую опечатку и потом кое как её найдёшь внутри функции ajax. Но Интернет и чтение ошибок (которые ещё надо было придумать как вывести, делают своё дело)) Сложности: Найти ошибку))) |
|||||
50 | Изображение - удаление - ни шагу без подтверждения! |
|
|||
На этом уроке мы реализуем всплывающее окно подтверждения действия и протестируем результаты выбора различных вариантов Отчёт отправил: 8275. Tekashnik Выполнено за 35 мин. [Показать отчёт] Научился: Начали делать обработчик кнопки "Удалить фото"))) |
|||||
51 | Изображение - удаление - удаление файла и записи |
|
|||
На этом уроке мы реализуем удаление файлов изображений и записей о них из базы данных
Отчёт отправил: 8275. Tekashnik Выполнено за 23 мин. [Показать отчёт] Научился: Всё удаляется, только где мы релоад сделали, я что то не понял |
|||||
52 | Главная страница - подробности - ссылки и заготовка представлени |
|
|||
На этом уроке мы создадим ссылки для объявлений на главной странице и заготовку представления для подробного вывода информации объявления Отчёт отправил: 8275. Tekashnik Выполнено за 11 мин. [Показать отчёт] Научился: Сделали новую вьюшку, для отображения информации. Всё идёт по плану) |
|||||
53 | Главная страница - подробности - больше подробностей |
|
|||
На этом уроке мы выведем максимум информации на страницу подробностей объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 13 мин. [Показать отчёт] Научился: Немного подоформили страничку с информацией) |
|||||
54 | Главная страница - подробности - расширяя информацию |
1 тест |
|||
На этом уроке мы внесем в наш код изменения, которые позволят сохранять объявления с большим количеством информации Отчёт отправил: 8275. Tekashnik Выполнено за 28 мин. [Показать отчёт] Научился: Всё сделал) Но у нас ещё кучи проверок не хватает, можно напороться например на исключение которое на первой картинке)) И если например попытаться добавить фотку не выбрав её, тоже выпадет исключение. Но это так мелочи жизни, небольшие наблюдения со стороны) |
|||||
55 | Главная страница - оформление - дизайн объявления |
|
|||
На этом уроке мы зададим стиль дизайна объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 56 мин. [Показать отчёт] Научился: Немного облагородили))) |
|||||
56 | Главная страница - оформление - дизайн элементов базовой страницы |
1 тест |
|||
На этом уроке мы выведем информацию о себе в элементе footer и сделаем главное меню стильным и красивым
Отчёт отправил: 8275. Tekashnik Выполнено за 34 мин. [Показать отчёт] Научился: Поигрались немного с цветами, непонятно , что Валерию не понравилось с чёрной схемой)) |
|||||
57 | Главная страница - оформление - ловим цвет пикселя |
|
|||
На этом уроке мы рассмотрим использование инструментов определения цвета пикселя (Пипетка) Отчёт отправил: 8275. Tekashnik Выполнено за 11 мин. [Показать отчёт] Научился: ПИПЕ́ТКА, пипетки, жен. (франц. pipett - трубочка) (спец.). Узкая стеклянная трубочка с резиновым наконечником для набирания, втягивания небольшого количества жидкости и обратного выпускания ее каплями. Пипетка для глазных капель. Пипетка для чернил (которая служит для того, чтобы наливать чернила в вечное перо). |
|||||
58 | Главная страница - оформление - смотрим все изображения |
|
|||
На этом уроке мы реализуем просмотр всех изображений объявления "не хуже, чем на Avito"
Отчёт отправил: 8275. Tekashnik Выполнено за 35 мин. [Показать отчёт] Научился: Немного поджаваскриптили) ещё бы сделать чтобы плавнее картинка изменялась)) |
|||||
59 | Главная страница - оформление - стильный логотип |
|
|||
На этом уроке мы реализуем вывод логотипа в иконку проекта и в пункт меню перехода на главную страницу
Отчёт отправил: 8275. Tekashnik Выполнено за 44 мин. [Показать отчёт] Научился: Немного поигрались с настройками логотипа)) Всё таки дизайнер из меня никакой.... |
|||||
60 | Главная страница - оформление - оповещения через баннер |
|
|||
На этом уроке мы создадим баннер для оповещений, новостей
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 19 мин. [Показать отчёт] Научился: Почему (см. скриншот) выбранный нами пункт "Мои объявления" остаются белёсыми?? |
|||||
61 | Разделы (темы) - немного теории |
|
|||
На этом уроке мы рассмотрим вопрос тематик объявлений на нашем сайте, а также составим план (структуру) таблицы тем Themes и связующей таблицы ThemesBulletins
Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт] Научился: Поразрабатывали таблицы... не очень люблю это, но без этого никуда... |
|||||
62 | Разделы (темы) - миграции с внешними ключами |
|
|||
На этом уроке мы создадим миграции таблиц themes и themesbulletins, сами эти таблицы и их модели ActiveRecord с внешними связями
Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт] Научился: Поупражнялись в миграциях. Ещё бы хорошо попробовать пооткатывать миграции, если что то пошло не так. У меня вот например была опечатка и миграция прошла некорректно, но откатиться средствами Yii не вышло. Пришлось удалить таблицу, а затем снова сделать миграцию.. |
|||||
63 | Обратная связь - мозговой штурм - внештатные ситуации |
|
|||
В данном уроке попрошу Вас выполнить небольшую самостоятельную работу и дать обратную связь. Отчёт отправил: 8275. Tekashnik Выполнено за 25 мин. [Показать отчёт] Научился: При добавлений объявления и если внутри есть спецсимволы (\xF0\x9F\x87\xB9\xF0\x9F) то выпадает необрабатываемое исключение Если созать некорректную миграцию, то она и откатиться не сможет корректно. С точки зрения SQL-инъекций мне кажется что модель Yii уже наверное защищена.. ничего особенного вставить инъекцией мне вставить не удалось, может просто не умею) Если попытаться сохранить изображение, предварительно его не выбрав, то опять же получаетсяя необрабатываемое исключение. Когда мы просматриваем объявление и изменяем картинку в большом окне, то если фото на которое мы меняем залазит на текст, потому что js не обнавляет страницу, соответствено div'ы никак не двигаются. Думаю, что это же небольшая проблемка. Вообще вот мои изыскания, может не всё нашёл, но надо же и другим людям которые курс проходят, что то оставить))) если оно конечно осталось))) Сложности: Собраться с мыслями после перерыва |
|||||
64 | Разделы (темы) - вывод тем в объявлении |
|
|||
На этом уроке мы реализуем вывод тем на странице объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 38 мин. [Показать отчёт] Научился: Подзаполнили наши новые таблицы и вывели темы уже в объявлениях)) |
|||||
65 | Разделы (темы) - меню тематик |
|
|||
На этом уроке мы реализуем вывод ссылок на темы на главной странице и подсчет объявлений в каждой теме
Отчёт отправил: 8275. Tekashnik Выполнено за 54 мин. [Показать отчёт] Научился: Сделали вывод тем и количества объявлений в них с помощью badge. Только вот никак не могу понять почему всегда badge в одном цвете, другой никак не могу установить.... может Валерий знает? |
|||||
66 | Разделы (темы) - тематические выборки |
|
|||
На этом уроке мы реализуем выбор объявлений по темам и вывод их на основную страницу
Отчёт отправил: 8275. Tekashnik Выполнено за 43 мин. [Показать отчёт] Научился: Апгрейдили ссылочки тем)) |
|||||
67 | Разделы (темы) - полезные переходы |
|
|||
На этом уроке мы реализуем возвращение со страницы объявлений на предыдущую страницу, а также переходы по темам объявления по типу хештегов | |||||
68 | Разделы (темы) - администрирование - теория и заготовки |
|
|||
На этом уроке мы создадим контроллер для администрирования разделов (тем) и представление index | |||||
69 | Разделы (темы) - администрирование - все темы в таблицу |
|
|||
На этом уроке мы выведем существующие темы в таблицу и зададим им элементы управления | |||||
70 | Разделы (темы) - администрирование - подтверждение удаления |
|
|||
На этом уроке мы реализуем алгоритм подтверждения удаления и создадим соответствующее представление | |||||
71 | Разделы (темы) - администрирование - удаление разделов и чистка связей |
|
|||
На этом уроке мы окончательно удалим раздел, а перед этим удалим все его связи с объявлениями | |||||
72 | Разделы (темы) - администрирование - Обычный ThemesForm |
|
|||
На этом уроке мы создадим модель ThemesForm, заготовку действия Add в контроллере Themes и представление под него | |||||
73 | Разделы (темы) - исправление подсчета и отображение текущей темы |
|
|||
Hа этом уроке мы исправим ошибку подсчета, обнаруженную в процессе прохождения курса, а также отобразим текущую тему, по которой выборка объявлений, в баннере |
|||||
74 | Разделы (темы) - администрирование - "темное" представление |
|
|||
На этом уроке мы создадим поля для редактирования или добавления темы в представлении themes\add | |||||
75 | Разделы (темы) - администрирование - волшебный выпадающий список |
1 тест |
|||
На этом уроке мы создадим выпадающий список выбора родительской темы | |||||
76 | Разделы (темы) - администрирование - сохранение темы |
|
|||
На этом уроке мы реализуем сохранение добавляемых и редактируемых тем | |||||
77 | Разделы (темы) - администрирование - рефакторинг и валидация |
|
|||
На этом уроке мы сделаем рефакторинг нашего представления add и валидацию данных формы ThemesForm | |||||
78 | Связи объявлений и тем - заготовка |
|
|||
На этом уроке мы создадим действие в контроллере BulletinsController и представление, которые помогут нам работать со связями объявлений и тем |
|||||
79 | Связи объявлений и тем - добавление новой темы |
|
|||
На этом уроке мы научим нашу систему добавлять новую тему в объявление (делать связь темы и объявления) | |||||
80 | Связи объявлений и тем - темы, которых не было |
1 тест |
|||
На этом уроке мы научим нашу систему выводить в список добавляемых в объявление тем только те, которые не прикреплены к нашему объявлению | |||||
81 | Связи объявлений и тем - темы, которых не будет |
|
|||
На этом уроке мы научим нашу систему удалять из объявлений темы, к которым наше объявление привязывать не надо | |||||
82 | Глобальный поиск - поле поиска в меню |
|
|||
На этом уроке мы добавим поле поиска в навигационное меню сайта, а также решим вопрос с активными пунктами меню. | |||||
83 | Глобальный поиск - ищем глобально |
|
|||
На этом уроке мы создадим алгоритм поиска по вводимому в поле search контенту | |||||
84 | Расширенный поиск - группировка пунктов главного меню |
|
|||
На этом уроке мы сгруппируем пункты главного меню в подразделы, и сделаем в нем ссылку на страницу расширенного поиска |
|||||
85 | Расширенный поиск - заготовки и план |
|
|||
На этом уроке мы набросаем план будущей страницы расширенного поиска, а также создадим действие контроллера и заготовку представления расширенного поиска |
|||||
86 | Расширенный поиск - стили и форма |
|
|||
На этом уроке мы внесем исправления в стили субменю и сделаем модель формы расширенного поиска | |||||
87 | Расширенный поиск - дизайн текстовых полей и кнопки |
|
|||
На этом уроке мы прокачаем навыки дизайна текстовых полей, создания активной формы в представлении, а также создания кнопки через хелперы yii2 |
|||||
88 | Расширенный поиск - цена - выбор варианта |
|
|||
На этом уроке мы создадим систему управления выбором варианта поиска по цене | |||||
89 | Расширенный поиск - цена - невидимые поля |
|
|||
На этом уроке мы создадим невидимые блоки с полями поиска цены, которые становятся видимыми при нажатии определенного пункта навигатора | |||||
90 | Расширенный поиск - дата публикации - виджет извне |
|
|||
На этом уроке мы установим в наш проект компонент jui от стороннего разработчика и создадим календарики для выбора дат |
|||||
91 | Расширенный поиск - результаты выборки - частичное представление |
|
|||
На этом уроке мы рассмотрим возможность использования частичного представления в yii2-проекте и выведем в частичное представление карточку объявления | |||||
92 | Расширенный поиск - генератор поиска - возвращение к SQL-запросу |
|
|||
На этом уроке мы создадим генератор отчета, используя работу ActiveRecord фреймворка yii2 c sql-запросами, и включим в него поиск по текстовым полям формы расширенного поиска |
|||||
93 | Расширенный поиск - генератор поиска - ограничивающие даты |
|
|||
На этом уроке мы добавим в генератор отчета расширенного поиска выборку по датам публикации |
|||||
94 | Расширенный поиск - генератор поиска - три вида цены и один POST |
|
|||
На этом уроке мы реализуем различные варианты выборки объявлений по цене и добавим их в наш генератор расширенного поиска |
|||||
95 | Обратная связь - свой сайт объявлений |
без видео |
|||
И снова обратная связь.Подумаем самостоятельно и ответим на вопросы: |
|||||
96 | Расширенный поиск - генератор поиска - показать, что нужно |
|
|||
На этом уроке мы реализуем отображение той вкладки поиска по ценам, по которой производился поиск |
|||||
97 | Работа с документацией Yii2 |
|
|||
На этом уроке переходим на один из официальных сайтов по Yii2 и, пользуясь помощью документации, реализовываем одну из своих идей |
|||||
98 | Пользователи и роли - планирование ролевой модели |
|
|||
На этом уроке мы составим ролевую модель пользователей нашего сайта | |||||
99 | Пользователи и роли - фильтры контроля доступа ACF - теория и эксперименты |
|
|||
На этом уроке мы рассмотрим принципы работы фильтров контроля доступа ACF | |||||
100 | Пользователи и роли - фильтры контроля доступа ACF - фильтруем всё |
|
|||
На этом уроке мы сами создадим метод behaviors() в BulletinsController и зададим нужные фильтры для действий контроллера | |||||
101 | Пользователи и роли - роли через RBAC - теория, установка и миграции |
|
|||
На этом уроке мы установим расширение RBAC, настроим подключение к RBAC и создадим базы для авторизации при помощи механизма миграции |
|||||
102 | Пользователи и роли - роли через RBAC - тесты и практика |
|
|||
На этом уроке мы создадим тестовые роли и разрешения, а также проверим работу контроллера согласно разрешений |
|||||
103 | Пользователи и роли - роли через RBAC - вносим действия в план |
|
|||
На этом уроке мы добавим действия к ролям в нашей актуальной ролевой модели | |||||
104 | Пользователи и роли - роли через RBAC - реализация плана |
|
|||
На этом уроке мы создадим актуальные роли и действия для пользователей нашего сайта | |||||
105 | Пользователи и роли - ACF+RBAC - ограничим доступ к темам |
|
|||
На этом уроке мы реализуем ролевую модель для контроллера тем | |||||
106 | Пользователи и роли - управление ролями и привилегиями - контроллер и таблица ролей |
|
|||
на этом уроке мы создадим контроллер и представление для управления ролями | |||||
107 | Пользователи и роли - управление ролями и привилегиями - форма добавления роли |
|
|||
На этом уроке мы создадим действие добавления роли и форму добавления роли |
|||||
108 | Пользователи и роли - управление ролями и привилегиями - сохранение и удаление роли |
|
|||
На этом уроке мы реализуем сохранение роли, а также напишем алгоритм удаления роли | |||||
Итого: 108 видеоуроков |
23 час. 33 мин. 25 тестов |
3 чел. | |||
Финалисты: Жан, Николай Денисов, Tom . |