Создание Доски объявлений с использованием фреймворка YII2.
Автор: Жданов В.В.
Данный курс - практикум по созданию сайта с использованием фреймворка YII2.
Цель: создание небольшого сайта с нуля до "коробочного" варианта, готового к размещению на хостинге.
Теории здесь не много, больше практической работы по принципу: "произвел действие - получил результат".
Также по максимуму используем функционал фреймворка YII2.
Программируем - и кайфуем!
# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом уроке мы рассмотрим тематику разработки и настроим инструменты Отчёт отправил: 9014. Николай Денисов Выполнено за 40 мин. [Показать отчёт] Научился: Начало много обещающие! Обязательно NetBeans или можно другими инструментами пользоваться? OpenServer можно любой или обязательно Ultimate ? Сложности: NetBeans не запускается, Windows говорит плохая программа. |
|||||
2 |
![]() |
1 тест |
|||
На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене Отчёт отправил: 9014. Николай Денисов Выполнено за 33 мин. [Показать отчёт] Научился: Установил и запустил чудо сайт. Сделал домен . Сложности: Установил кучу файлов непонятно зачем и что теперь с ними делать ? |
|||||
3 |
![]() |
2 теста |
|||
На этом уроке мы настроим удобные для человека ссылки и поменяем название сайта при помощи настроек config/web.php Отчёт отправил: 9014. Николай Денисов Выполнено за 15 мин. [Показать отчёт] Научился: Настроил правильные ссылки, изменил логотип сайта. Сложности: Всё довольно просто. |
|||||
4 |
![]() |
|
|||
На этом уроке мы создадим схему базы данных для нашего проекта
Отчёт отправил: 9014. Николай Денисов Выполнено за 18 мин. [Показать отчёт] Научился: План, базы данных для доски объявлений Сложности: = |
|||||
5 |
![]() |
1 тест |
|||
На этом уроке мы создадим базу данных, подключим ее к нашему проекту и создадим таблицу пользователей при помощи механизма миграций Отчёт отправил: 9014. Николай Денисов Выполнено за 32 мин. [Показать отчёт] Научился: Создал базу данных, используя миграции. Сложности: Не сразу понял, нужно по внимательней разобраться. |
|||||
6 |
![]() |
1 тест |
|||
На этом уроке мы подкорректируем модель User и реализуем аутентификацию на сайте через базу данных
Отчёт отправил: 9014. Николай Денисов Выполнено за 32 мин. [Показать отчёт] Научился: Изменил модели, записал в базу данных нового пользователя, зашифровал md5(пароль) Сложности: Всё супер. |
|||||
7 |
![]() |
|
|||
На этом уроке создадим таблицу и модель Информация о пользователе
Отчёт отправил: 9014. Николай Денисов Выполнено за 31 мин. [Показать отчёт] Научился: Добавление пользователей посредствам миграции Сложности: Всё супер |
|||||
8 |
![]() |
1 тест |
|||
На этом уроке мы рассмотрим теоретические основы работы MVC и создадим новый контроллер в нашем проекте
Отчёт отправил: 9014. Николай Денисов Выполнено за 31 мин. [Показать отчёт] Научился: Создал контроллер и представление пользователя Сложности: Немного помучился с поиском ошибок. |
|||||
9 | MVC - информация о пользователе |
|
|||
На этом уроке мы получим данные о пользователе из базы в представление
Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 45 мин. [Показать отчёт] Научился: Выводить информацию из базы данных в представление Сложности: Из userinfo не выводится данные - выдаёт кучу ошибок |
|||||
10 | Пользователь - кто зарегистрирован сейчас? |
1 тест |
|||
На этом уроке мы получим информацию о текущем зарегистрированном пользователе, а также сделаем рефакторинг кода Отчёт отправил: 9014. Николай Денисов Выполнено за 19 мин. [Показать отчёт] Научился: Получать id текущего пользователя из session Сложности: Всё супер |
|||||
11 | Новый пользователь - заготовка и меню |
|
|||
На этом уроке мы создадим действие и представление для добавления пользователя, а также добавим пункт меню "Регистрация" Отчёт отправил: 9014. Николай Денисов Выполнено за 16 мин. [Показать отчёт] Научился: Добавил представление регистрации нового пользователя Сложности: Всё окей |
|||||
12 | Новый пользователь - модель для формы |
1 тест |
|||
На этом уроке мы создадим модель параметров формы добавления пользователя
Отчёт отправил: 9014. Николай Денисов Выполнено за 22 мин. [Показать отчёт] Научился: Создал модель для добавления нового пользователя. Сложности: ОК |
|||||
13 | Новый пользователь - дизайн формы начало |
|
|||
На этом уроке мы зададим поля формы добавления пользователя
Отчёт отправил: 9014. Николай Денисов Выполнено за 40 мин. [Показать отчёт] Научился: Добавил форму ввода данных для регистрации Сложности: Опять немного спотыкнулся на ошибках. |
|||||
14 | Новый пользователь - дизайн формы: поля и колонки |
1 тест |
|||
На этом уроке мы добавим все поля формы, кнопку сохранения, а также разместим поля в две колонки Отчёт отправил: 9014. Николай Денисов Выполнено за 17 мин. [Показать отчёт] Научился: Сделал красивую форму для регистрации - "Чтобы пользователь не убежал " Сложности: Всё супер |
|||||
15 | Новый пользователь - сохранение нового пользователя |
1 тест |
|||
На этом уроке мы напишем алгоритм сохранения записи о пользователе и информации о нем
Отчёт отправил: 9014. Николай Денисов Выполнено за 46 мин. [Показать отчёт] Научился: Сделал сохранение пользователей в базе данных Сложности: Забыл поставить слеш выдал #400 ошибку, но в базу всё записалось |
|||||
16 | Красивая аутентификация на сайте |
|
|||
На этом уроке мы поменяем дизайн формы входа на сайт
Отчёт отправил: 9014. Николай Денисов Выполнено за 15 мин. [Показать отчёт] Научился: Отредактировал представление для пользователей Сложности: всё ок |
|||||
17 | Что доступно Юпитеру? |
1 тест |
|||
На этом занятии мы научимся управлять доступом к пунктам главного меню
Отчёт отправил: 9014. Николай Денисов Выполнено за 20 мин. [Показать отчёт] Научился: Сделал видимые и не видимые ссылки для разных пользователей Сложности: Всё просто, кайфуем как всегда. |
|||||
18 | Объявления - создание базы и модели |
1 тест |
|||
На этом уроке мы создадим таблицу bulletins при помощи миграций и сгенерируем для данной таблицы класс ActiveRecord
Отчёт отправил: 9014. Николай Денисов Выполнено за 21 мин. [Показать отчёт] Научился: Добавил таблицу в базу данных Сложности: ок |
|||||
19 | Объявления - контроллер, представление и много записей |
1 тест |
|||
На этом уроке мы создадим контроллер и представление для работы с объявлениями, а также сделаем связь записей о пользователях и объявлениях типа "один-ко-многим" Отчёт отправил: 9014. Николай Денисов Выполнено за 27 мин. [Показать отчёт] Научился: Добавил страницу объявлений и пункт меню Сложности: Супер |
|||||
20 | Объявление - функциональный дизайн страницы |
|
|||
На этом уроке мы сделаем дизайн страницы наших объявлений, который поможет нам работать с объявлениями в дальнейшем
Отчёт отправил: 9014. Николай Денисов Выполнено за 25 мин. [Показать отчёт] Научился: Создал таблицу для добавления объявлений |
|||||
21 | Объявление - ограничение доступа |
|
|||
На этом уроке мы ограничим доступ неавторизированного пользователя к странице управления объявлениями, а также решим некоторые технические вопросы
Отчёт отправил: 9014. Николай Денисов Выполнено за 24 мин. [Показать отчёт] Научился: Добавил ограничение прав доступа к странице пользователя |
|||||
22 | Объявление - поля для пользовательских форм |
|
|||
На этом уроке мы создадим класс BulletinsForm и определим, какие поля будут использоваться при создании объявления Отчёт отправил: 9014. Николай Денисов Выполнено за 21 мин. [Показать отчёт] Научился: Добавил форму объявлений |
|||||
23 | Объявление - форма добавления объявлений |
1 тест |
|||
На этом уроке мы создадим представление для добавления объявлений и действие контроллера, запускающего это представление Отчёт отправил: 9014. Николай Денисов Выполнено за 40 мин. [Показать отчёт] Научился: Реализовал дизайн формы для заполнения объявлений |
|||||
24 | Объявление - сохранение в черновик |
|
|||
На этом уроке мы реализуем механизм сохранения нового объявления в черновик
Отчёт отправил: 9014. Николай Денисов Выполнено за 35 мин. [Показать отчёт] Научился: Записал объявление в базу данных методом пост |
|||||
25 | Объявление - список |
|
|||
На этом уроке мы реализуем вывод сохраненных в базе объявлений в список
Отчёт отправил: 9014. Николай Денисов Выполнено за 43 мин. [Показать отчёт] Научился: Получать данные объявления из базы данных |
|||||
26 | Объявление - всё на публику |
1 тест |
|||
На этом уроке мы сделаем наши объявления опубликованными
Отчёт отправил: 9014. Николай Денисов Выполнено за 22 мин. [Показать отчёт] Научился: Реализовал публикацию объявлений |
|||||
27 | Объявление - публикация на главной странице |
1 тест |
|||
На этом уроке мы разместим наши опубликованные объявления на главной странице сайта
Отчёт отправил: 9014. Николай Денисов Выполнено за 35 мин. [Показать отчёт] Научился: Вывел объявления на главной странице сайта |
|||||
28 | Объявление - скрыть нельзя удалить |
|
|||
На этом уроке мы реализуем возможность помещать объявления в группу удаленных, восстанавливать их оттуда, а также отключать их просмотр Отчёт отправил: 9014. Николай Денисов Выполнено за 26 мин. [Показать отчёт] Научился: Удалять и восстановлять объявления |
|||||
29 | Объявление - статусный рефакторинг |
1 тест |
|||
НА этом уроке мы сделаем рефакторинг методов работы со статусом объявлений
Отчёт отправил: 9014. Николай Денисов Выполнено за 17 мин. [Показать отчёт] Научился: Удалил повторяющий код |
|||||
30 | Объявление - рефакторинг редактирования |
|
|||
На этом уроке мы реализуем редактирование путем небольшого видоизменения функции добавления записи
Отчёт отправил: 9014. Николай Денисов Выполнено за 25 мин. [Показать отчёт] Научился: Организовал редактирование объявлений |
|||||
31 | Объявление: запрос - в функцию & кнопка для изображений |
|
|||
На этом уроке мы сделаем рефакторинг метода index и добавим кнопки для перехода в режим работы с изображениями
Отчёт отправил: 9014. Николай Денисов Выполнено за 20 мин. [Показать отчёт] Научился: Рефакторинг кода и добавление новой кнопки для добавления фотографий к объявлению |
|||||
32 | Изображения - микс из миграций |
|
|||
На этом уроке мы через механизм миграций создадим таблицу photo и добавим поле для аватары в таблицу bulletins
Отчёт отправил: 9014. Николай Денисов Выполнено за 22 мин. [Показать отчёт] Научился: Создал таблицу фото, добавил ячейку аватар в бюллетень объявлений |
|||||
33 | Изображения - снова MVC |
|
|||
На этом уроке мы создадим модель, контролер и представление для работы с фото
Отчёт отправил: 9014. Николай Денисов Выполнено за 23 мин. [Показать отчёт] Научился: Создал модель, контроллер и заготовку для представления изображений |
|||||
34 | Изображения - работа с моделью |
|
|||
На этом уроке мы передадим модель нашего объявления в представление
Отчёт отправил: 9014. Николай Денисов Выполнено за 38 мин. [Показать отчёт] Научился: Подготовка сайта для добавления изображений |
|||||
35 | Работаем над ошибками - YII2 в помощь |
|
|||
На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
Отчёт отправил: 9014. Николай Денисов Выполнено за 19 час. 27 мин. [Показать отчёт] Научился: При загрузки изображений, браузер выдаёт "exception" сообщая что метод "isPost()" не существует. Чтобы исправить внимательно смотрим где находится ошибка. Переходим по адресу "PhotoController.php" и ищем функцию "actionAdd()" в которой и находится ошибка на которую указывает браузер. Раз браузер сообщает что "isPost()" не является методом исправляем "isPost" и обновляем страницу. И улыбаемся отличному результату! |
|||||
36 | Изображения - где живут картинки |
1 тест |
|||
На этом уроке мы создадим папку для изображений, разместим там изображение по умолчанию, а также создадим универсальные параметры пути и изображения по умолчанию
Отчёт отправил: 9014. Николай Денисов Выполнено за 24 мин. [Показать отчёт] Научился: Создал папку для изображений, установил изображение по умолчанию |
|||||
37 | Изображения - модель формы |
|
|||
На этом уроке мы создадим модель PhotoForm для работы с изображениями Отчёт отправил: 9014. Николай Денисов Выполнено за 20 мин. [Показать отчёт] Научился: Реализовал модель фото формы |
|||||
38 | Изображение - загрузочное представление |
|
|||
На этом занятии мы создадим форму представления, через которое будет загружаться изображение Отчёт отправил: 9014. Николай Денисов Выполнено за 39 мин. [Показать отчёт] Научился: Дизайн добавления фотографий на сайт объявлений |
|||||
39 | Изображение - загрузка файла на сайт |
1 тест |
|||
На этом уроке мы реализуем алгоритм загрузки изображений на сайт
Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: Загружать изображения на сайт |
|||||
40 | ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР |
без видео |
|||
Мы уже многое сделали на нашем видеокурсе, и автору очень важно узнать Ваше мнение о данном курсе и получить обратную связь в форме видео-презентации и ответов на вопросы. Сделай видео-презентацию своего сайта. Отчёт отправил: 9014. Николай Денисов Выполнено за 5 час. 18 мин. [Показать отчёт] Научился: На этом курсе: 1 Я создал сайт 2 Сделал домен 3 Реализовал регистрацию пользователей 4 Добавлять объявления - которые могут добавлять только зарегистрированные пользователи один ко многим 5 Загружать фотографии - фотографии к объявлениям сохраняются на сайте в папке image Нравиться что Видеокурсы не больше чем 20мин, всё доступно и понятно рассказано и показано. Хочу научится делать правильные сайты модели MVC Сложности: Получилось добавить звук к видео средствами youtube.com Надеюсь вы оцените мои труды. Что касается микрофона я купил микрофон и даже конденсаторный переходник, но это мне не помогло. Нужно покупать что то дорогое, а денег как известно нету. Видеообзор: UheX7TqKtHE |
|||||
41 | Изображение - сохранение пути в базу |
|
|||
На этом уроке мы реализуем сохранение пути к файлу изображений в базу данных
Отчёт отправил: 9014. Николай Денисов Выполнено за 33 мин. [Показать отчёт] Научился: Реализовал загрузку и отображение фотографий на сайт и в базу данных |
|||||
42 | Изображение - управление картинками |
|
|||
На этом уроке мы займемся дизайном - создадим выпадающее меню управления изображением
Отчёт отправил: 9014. Николай Денисов Выполнено за 15 мин. [Показать отчёт] Научился: Реализовал выпадающие меню для управления загруженными картинками |
|||||
43 | Изображение - JS - немного теории и пижонства |
1 тест |
|||
На этом уроке мы рассмотрим работу JS на yii2
Отчёт отправил: 9014. Николай Денисов Выполнено за 38 мин. [Показать отчёт] Научился: Реализовал скрывающееся и показывающие текстовое поля на JavaScript Сложности: К сожалению JavaScript вообще не знаю |
|||||
44 | Изображение - JS - глобализация |
|
|||
На этом уроке мы перенесем все скрипты JS в отдельный файл, а также реализуем открытие и скрытие элементов ввода информации Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 16 мин. [Показать отчёт] Научился: Вынес код JavaScript в отдельный файл Сделал появляющееся описание картинок Сложности: Опять я заплутал в дебрях кода JavaScript |
|||||
45 | Изображение - JS - сохранение информации в базу |
1 тест |
|||
На этом уроке мы научим нашу систему сохранять информацию об изображениях в базу с использованием технологии ajax Отчёт отправил: 9014. Николай Денисов Выполнено за 57 мин. [Показать отчёт] Научился: Познакомился с Аяксом Сделал записи информации о фото в базу данных и мгновенное отображение на сайте Сложности: Да в общем то всё супер. |
|||||
46 | Изображение - JS - извлечение методом ajax |
|
|||
На этом уроке мы научим ajax получать информацию об изображениях из базы
Отчёт отправил: 9014. Николай Денисов Выполнено за 36 мин. [Показать отчёт] Научился: Реализовал получение информации Ajax Сложности: Упорно отказывался работа, как только я его не уговаривал, выдавал ошибку. Пришлось пойти на хитрость, обновлять страницу только при успешном получении информации success: function(res) { //alert(res); location.reload(); }, Вот так как-то! |
|||||
47 | Изображение - аватарка - вывод на главной странице |
|
|||
На этом уроке мы реализуем вывод главных изображений каждого объявления (далее - аватарки) на главной странице Отчёт отправил: 9014. Николай Денисов Выполнено за 29 мин. [Показать отчёт] Научился: Вывел на главную страницу сайта аватар объявления |
|||||
48 | Изображение - аватарка - работа над ошибками связей |
|
|||
На данном уроке мы исправим ошибки вывода фотографий, очистим базу и заново загрузим в нашу базу фотографии в одно из объявлений Отчёт отправил: 9014. Николай Денисов Выполнено за 23 мин. [Показать отчёт] Научился: Исправил ошибки сохранений id картинок в базе данных |
|||||
49 | Изображение - аватарка - как стать главной |
|
|||
На этом уроке мы создадим код, делающий любое фото главным
Отчёт отправил: 9014. Николай Денисов Выполнено за 55 мин. [Показать отчёт] Научился: Сделал установку картинки аватара по кнопки используй Джава скрипт Сложности: Джава скрипт заставил немного напрячься, но всё отлично получилось |
|||||
50 | Изображение - удаление - ни шагу без подтверждения! |
|
|||
На этом уроке мы реализуем всплывающее окно подтверждения действия и протестируем результаты выбора различных вариантов Отчёт отправил: 9014. Николай Денисов Выполнено за 21 мин. [Показать отчёт] Научился: Реализовал функцию подтверждения удаление фото JavaScript |
|||||
51 | Изображение - удаление - удаление файла и записи |
|
|||
На этом уроке мы реализуем удаление файлов изображений и записей о них из базы данных
Отчёт отправил: 9014. Николай Денисов Выполнено за 30 мин. [Показать отчёт] Научился: Реализовал удаление фотографий с сайта из папки image и за базы данных |
|||||
52 | Главная страница - подробности - ссылки и заготовка представлени |
|
|||
На этом уроке мы создадим ссылки для объявлений на главной странице и заготовку представления для подробного вывода информации объявления Отчёт отправил: 9014. Николай Денисов Выполнено за 24 мин. [Показать отчёт] Научился: Добавил страницу представления объявления |
|||||
53 | Главная страница - подробности - больше подробностей |
|
|||
На этом уроке мы выведем максимум информации на страницу подробностей объявления
Отчёт отправил: 9014. Николай Денисов Выполнено за 24 мин. [Показать отчёт] Научился: Вывод полной информации объявления |
|||||
54 | Главная страница - подробности - расширяя информацию |
1 тест |
|||
На этом уроке мы внесем в наш код изменения, которые позволят сохранять объявления с большим количеством информации Отчёт отправил: 9014. Николай Денисов Выполнено за 35 мин. [Показать отчёт] Научился: Применил миграцию, исправил базу данных, создал объявление с подробным описанием от другого зарегистрированного пользователя. Превосходно, идем дальше! |
|||||
55 | Главная страница - оформление - дизайн объявления |
|
|||
На этом уроке мы зададим стиль дизайна объявления
Отчёт отправил: 9014. Николай Денисов Выполнено за 30 мин. [Показать отчёт] Научился: Дизайн страницы объявления Перенес дату публикации под картинку, мне кажется так наглядней Сложности: Проявить фантазию |
|||||
56 | Главная страница - оформление - дизайн элементов базовой страницы |
1 тест |
|||
На этом уроке мы выведем информацию о себе в элементе footer и сделаем главное меню стильным и красивым
Отчёт отправил: 9014. Николай Денисов Выполнено за 26 мин. [Показать отчёт] Научился: Оформил дизайн сайта сделал top_menu прозрачный. По моему широкий обзор это важно. |
|||||
57 | Главная страница - оформление - ловим цвет пикселя |
|
|||
На этом уроке мы рассмотрим использование инструментов определения цвета пикселя (Пипетка) Отчёт отправил: 9014. Николай Денисов Выполнено за 11 мин. [Показать отчёт] Научился: Познакомился с инструментом пипетка в веб браузере мозила |
|||||
58 | Главная страница - оформление - смотрим все изображения |
|
|||
На этом уроке мы реализуем просмотр всех изображений объявления "не хуже, чем на Avito"
Отчёт отправил: 9014. Николай Денисов Выполнено за 30 мин. [Показать отчёт] Научился: Выводить все картинки объявления, просматривать изображение по наведение на них мышкой используя событие hover в javaScript |
|||||
59 | Главная страница - оформление - стильный логотип |
|
|||
На этом уроке мы реализуем вывод логотипа в иконку проекта и в пункт меню перехода на главную страницу
Отчёт отправил: 9014. Николай Денисов Выполнено за 20 мин. [Показать отчёт] Научился: Реализовал иконку и логотип сайта объявлений |
|||||
60 | Главная страница - оформление - оповещения через баннер |
|
|||
На этом уроке мы создадим баннер для оповещений, новостей
Отчёт отправил: 9014. Николай Денисов Выполнено за 44 мин. [Показать отчёт] Научился: Реализовал баннер с информацией для зарегистрированных пользователей ю На баннере можно оповещать пользователей об активности его объявлений на сайте к примеру сколько опубликовано сколько удалено. Сложности: По началу не как не хотел отображаться в хроме в ферефоксе сразу отобразился. после перехода по ссылкам стал отлично работать и в хроме |
|||||
61 | Разделы (темы) - немного теории |
|
|||
На этом уроке мы рассмотрим вопрос тематик объявлений на нашем сайте, а также составим план (структуру) таблицы тем Themes и связующей таблицы ThemesBulletins
Отчёт отправил: 9014. Николай Денисов Выполнено за 15 мин. [Показать отчёт] Научился: Спланировал базу данных тем объявлений |
|||||
62 | Разделы (темы) - миграции с внешними ключами |
|
|||
На этом уроке мы создадим миграции таблиц themes и themesbulletins, сами эти таблицы и их модели ActiveRecord с внешними связями
Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 57 мин. [Показать отчёт] Научился: Создал две таблицы в базе данных и связи между ними Сложности: Не удалось с первой попытки с мигрировать таблицы в базу данных, ни первой ни второй. Только со второй попытки удалось создать, консоль выдавала синтаксическую ошибку как будто скобки нет но скобка была на месте. Пришлось удалять и создавать заново |
|||||
63 | Обратная связь - мозговой штурм - внештатные ситуации |
|
|||
В данном уроке попрошу Вас выполнить небольшую самостоятельную работу и дать обратную связь. Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 17 мин. [Показать отчёт] Научился: Сохранил копию сайта и базы данных, сделал восстановление сайта. Проблем при просмотре сайта никаких нет, также и при добавлении новой информации. Проблемы при добавлении фотографий, необходимо поставить проверку на отсутствие файла. Втора проблема из за размера фотографий если установить width = картинки начинают жутко прыгать, а если height = то начинают наезжать на текс так что его невозможно прочитать. Про SQL-инъекции немного известно, жуткая вещь. Надеюсь некогда с ними не встречаться, но всё ровно страшно, поэтому необходимо знать как от них защищается. |
|||||
64 | Разделы (темы) - вывод тем в объявлении |
|
|||
На этом уроке мы реализуем вывод тем на странице объявления
Отчёт отправил: 9014. Николай Денисов Выполнено за 42 мин. [Показать отчёт] Научился: Внес исправления, добавил связи тем, вывел темы на страницу с объявлением |
|||||
65 | Разделы (темы) - меню тематик |
|
|||
На этом уроке мы реализуем вывод ссылок на темы на главной странице и подсчет объявлений в каждой теме
Отчёт отправил: 9014. Николай Денисов Выполнено за 32 мин. [Показать отчёт] Научился: Вывел все темы на главной страницы сайта, организовал подсчет объявлений по темам и добавил новую связь в базу данных. Сложности: На видео показано как прыгают картинки в объявлении Видеообзор: UBSyknQ-hCo |
|||||
66 | Разделы (темы) - тематические выборки |
|
|||
На этом уроке мы реализуем выбор объявлений по темам и вывод их на основную страницу
Отчёт отправил: 9014. Николай Денисов Выполнено за 38 мин. [Показать отчёт] Научился: Реализовал выбор объявлений по темам Сложности: Очень мелко, ничего не видно |
|||||
67 | Разделы (темы) - полезные переходы |
|
|||
На этом уроке мы реализуем возвращение со страницы объявлений на предыдущую страницу, а также переходы по темам объявления по типу хештегов
Отчёт отправил: 9014. Николай Денисов Выполнено за 39 мин. [Показать отчёт] Научился: Организовал кнопку возврата назад и сортировку по тема, теперь при выборе одной темы выводится объявления относящиеся только к этой теме. Сложности: Опять ничего не видно. Радует что автор подробно все рассказывает. Решил проблему с сохранением фотографий, прописав две проверки на NULL. Решил проблему с прыгающими картинками, указав нужные стили. Пока больше ошибок на сайте не обнаружено. Идем дальше! |
|||||
68 | Разделы (темы) - администрирование - теория и заготовки |
|
|||
На этом уроке мы создадим контроллер для администрирования разделов (тем) и представление index
Отчёт отправил: 9014. Николай Денисов Выполнено за 30 мин. [Показать отчёт] Научился: Создал контроллер тем, добавил представление тем для зарегистрированных пользователе Сложности: Окей, идем дальше |
|||||
69 | Разделы (темы) - администрирование - все темы в таблицу |
|
|||
На этом уроке мы выведем существующие темы в таблицу и зададим им элементы управления
Отчёт отправил: 9014. Николай Денисов Выполнено за 30 мин. [Показать отчёт] Научился: Реализовал форму редактор тем Сложности: Баннер мешается, при переходе по ссылкам постоянно открывается. Думаю стоит его открывать толь при входе на сайт, и после небольшого время ожидания сворачивать его в кнопку которую можно будет нажать и просмотреть информацию о своих объявлениях. |
|||||
70 | Разделы (темы) - администрирование - подтверждение удаления |
|
|||
На этом уроке мы реализуем алгоритм подтверждения удаления и создадим соответствующее представление
Отчёт отправил: 9014. Николай Денисов Выполнено за 28 мин. [Показать отчёт] Научился: Реализовал действие отмены удаления темы объявления Сложности: Всё гуд |
|||||
71 | Разделы (темы) - администрирование - удаление разделов и чистка связей |
|
|||
На этом уроке мы окончательно удалим раздел, а перед этим удалим все его связи с объявлениями
Отчёт отправил: 9014. Николай Денисов Выполнено за 17 мин. [Показать отчёт] Научился: Реализовал удаление тем и связей между ними Сложности: Все ОКЕЙ! |
|||||
72 | Разделы (темы) - администрирование - Обычный ThemesForm |
|
|||
На этом уроке мы создадим модель ThemesForm, заготовку действия Add в контроллере Themes и представление под него
Отчёт отправил: 9014. Николай Денисов Выполнено за 21 мин. [Показать отчёт] Научился: Реализовал страницу для добавления новых тем для объявлений. Сложности: Ок. |
|||||
73 | Разделы (темы) - исправление подсчета и отображение текущей темы |
|
|||
Hа этом уроке мы исправим ошибку подсчета, обнаруженную в процессе прохождения курса, а также отобразим текущую тему, по которой выборка объявлений, в баннере Отчёт отправил: 9014. Николай Денисов Выполнено за 23 мин. [Показать отчёт] Научился: Исправил ошибку подсчета объявлений по темам Вывел в баннер выбранную тему - темы в баннере выводятся для всех пользователей Сложности: У сайта индекс находится не вкорени сайта, как выкладывать сайт на сервер? Создавать index.php? Или как-то по другому? |
|||||
74 | Разделы (темы) - администрирование - "темное" представление |
|
|||
На этом уроке мы создадим поля для редактирования или добавления темы в представлении themes\add
Отчёт отправил: 9014. Николай Денисов Выполнено за 13 час. 6 мин. [Показать отчёт] Научился: Фому добавления новых тем для объявлений Сложности: Сразу сделать не получилось, проверил всё переменные несколько раз и ничего. Думаю проблема была в базе данных, но я и там ничего подозрительного не нашёл. Распаковал и восстановил сайт и базу данных и всё получилось. Большое спасибо, Жданову Валерию Владимировичу за своевременный урок по сохранению и восстановлению сайта. Теперь планирую постоянно обновлять архив и базу данных. |
|||||
75 | Разделы (темы) - администрирование - волшебный выпадающий список |
1 тест |
|||
На этом уроке мы создадим выпадающий список выбора родительской темы
Отчёт отправил: 9014. Николай Денисов Выполнено за 18 мин. [Показать отчёт] Научился: Реализовал выпадающий список для организации связей между темами объявлений Сложности: Окей |
|||||
76 | Разделы (темы) - администрирование - сохранение темы |
|
|||
На этом уроке мы реализуем сохранение добавляемых и редактируемых тем
Отчёт отправил: 9014. Николай Денисов Выполнено за 44 мин. [Показать отчёт] Научился: Реализовал добавление и редактирования тем объявлений Сложности: Отлично |
|||||
77 | Разделы (темы) - администрирование - рефакторинг и валидация |
|
|||
На этом уроке мы сделаем рефакторинг нашего представления add и валидацию данных формы ThemesForm
Отчёт отправил: 9014. Николай Денисов Выполнено за 16 мин. [Показать отчёт] Научился: Реализовал проверку на пустое поле и сделал рефакторинг Сложности: Отлично |
|||||
78 | Связи объявлений и тем - заготовка |
|
|||
На этом уроке мы создадим действие в контроллере BulletinsController и представление, которые помогут нам работать со связями объявлений и тем Отчёт отправил: 9014. Николай Денисов Выполнено за 22 мин. [Показать отчёт] Научился: Добавил форму для редактирования тем у объявлений Сложности: Окей |
|||||
79 | Связи объявлений и тем - добавление новой темы |
|
|||
На этом уроке мы научим нашу систему добавлять новую тему в объявление (делать связь темы и объявления)
Отчёт отправил: 9014. Николай Денисов Выполнено за 56 мин. [Показать отчёт] Научился: Добавлять темы к объявлениям. Сохранять связи тем в базу данных Сложности: Ок |
|||||
80 | Связи объявлений и тем - темы, которых не было |
1 тест |
|||
На этом уроке мы научим нашу систему выводить в список добавляемых в объявление тем только те, которые не прикреплены к нашему объявлению
Отчёт отправил: 9014. Николай Денисов Выполнено за 16 мин. [Показать отчёт] Научился: Сортировать добавленные темы, чтобы одинаковые темы не добавлялись дважды Сложности: ок |
|||||
81 | Связи объявлений и тем - темы, которых не будет |
|
|||
На этом уроке мы научим нашу систему удалять из объявлений темы, к которым наше объявление привязывать не надо
Отчёт отправил: 9014. Николай Денисов Выполнено за 29 мин. [Показать отчёт] Научился: Удалять темы у объявлений Сложности: Обновил с подтверждение и продублировалась добавленная тема, пришлось лезть в базу данных и удалять оттуда. Забыл поставить слеш для ссылки и при удалении ссылка начала дублироваться в место http://bull.local/bulletins/addtheme?id=5 стала http://bull.local/bulletins/bulletins/deletetheme?id=11 ошибка 404 |
|||||
82 | Глобальный поиск - поле поиска в меню |
|
|||
На этом уроке мы добавим поле поиска в навигационное меню сайта, а также решим вопрос с активными пунктами меню.
Отчёт отправил: 9014. Николай Денисов Выполнено за 39 мин. [Показать отчёт] Научился: Изменил стиль выбранного пункта меню - посредствам css Добавил поля поиска объявлений Сложности: После добавления стилей браузер хром долго не хотел обновляется а я думал что ошибся. Фейр фокс долго грузится но сразу обновляет и результат не заставляет себя долго ждать. |
|||||
83 | Глобальный поиск - ищем глобально |
|
|||
На этом уроке мы создадим алгоритм поиска по вводимому в поле search контенту
Отчёт отправил: 9014. Николай Денисов Выполнено за 30 мин. [Показать отчёт] Научился: Реализовал алгоритм поиска объявлений Сложности: ок |
|||||
84 | Расширенный поиск - группировка пунктов главного меню |
|
|||
На этом уроке мы сгруппируем пункты главного меню в подразделы, и сделаем в нем ссылку на страницу расширенного поиска Отчёт отправил: 9014. Николай Денисов Выполнено за 28 мин. [Показать отчёт] Научился: Реализовал выпадающее меню Сложности: Все стили полетели |
|||||
85 | Расширенный поиск - заготовки и план |
|
|||
На этом уроке мы набросаем план будущей страницы расширенного поиска, а также создадим действие контроллера и заготовку представления расширенного поиска Отчёт отправил: 9014. Николай Денисов Выполнено за 29 мин. [Показать отчёт] Научился: Добавил страницу расширенного поиска, спланировал дальнейшие действия Сложности: Добавил свои стили, выпадающие меню стало нормально отображается. Подумал отлично но не все оказалось так гладко. Стили применились ко всем таблицам, пришлось вставить временный костыль в роде тега. Потом нужно будет всё переделать. |
|||||
86 | Расширенный поиск - стили и форма |
|
|||
На этом уроке мы внесем исправления в стили субменю и сделаем модель формы расширенного поиска
Отчёт отправил: 9014. Николай Денисов Выполнено за 19 мин. [Показать отчёт] Научился: Подкорректировал стили, добавил модель расширенного поиска. Сложности: ок |
|||||
87 | Расширенный поиск - дизайн текстовых полей и кнопки |
|
|||
На этом уроке мы прокачаем навыки дизайна текстовых полей, создания активной формы в представлении, а также создания кнопки через хелперы yii2 Отчёт отправил: 9014. Николай Денисов Выполнено за 29 мин. [Показать отчёт] Научился: Реализовал форму расширенного поиска объявлений Сложности: Я думал что на прошлом уроке решил проблему с цветом стилей но оказалось на главной странице вложенные ссылки остались белыми. пришлось вернуть стиль для ссылок который я писал раньше. Всё отлично. |
|||||
88 | Расширенный поиск - цена - выбор варианта |
|
|||
На этом уроке мы создадим систему управления выбором варианта поиска по цене
Отчёт отправил: 9014. Николай Денисов Выполнено за 27 мин. [Показать отчёт] Научился: Добавил поиск по цене, реализовал JavaScript активных кнопок Сложности: в JavaScript перед вызовом класса забыл поставить точку, не мог сразу понять почему не работает. |
|||||
89 | Расширенный поиск - цена - невидимые поля |
|
|||
На этом уроке мы создадим невидимые блоки с полями поиска цены, которые становятся видимыми при нажатии определенного пункта навигатора
Отчёт отправил: 9014. Николай Денисов Выполнено за 36 мин. [Показать отчёт] Научился: Добавил поля поиска по стоимости, реализовал появление нужных полей по нажатию кнопки при помощи JavaScript Сложности: ок |
|||||
90 | Расширенный поиск - дата публикации - виджет извне |
|
|||
На этом уроке мы установим в наш проект компонент jui от стороннего разработчика и создадим календарики для выбора дат Отчёт отправил: 9014. Николай Денисов Выполнено за 59 мин. [Показать отчёт] Научился: Подключил к проекту виджет установки даты, реализовал на сайте. Сложности: После ввода команды в консоли сразу выдал ошибку и после небольшого ожидания началась установка и всё сработало. Жуткая и ужасная пугающая консоль. |
|||||
91 | Расширенный поиск - результаты выборки - частичное представление |
|
|||
На этом уроке мы рассмотрим возможность использования частичного представления в yii2-проекте и выведем в частичное представление карточку объявления
Отчёт отправил: 9014. Николай Денисов Выполнено за 41 мин. [Показать отчёт] Научился: Вынес представление объявления в отдельный файл, организовал вывод всех объявлении в расширенном поиске. Сложности: ок |
|||||
92 | Расширенный поиск - генератор поиска - возвращение к SQL-запросу |
|
|||
На этом уроке мы создадим генератор отчета, используя работу ActiveRecord фреймворка yii2 c sql-запросами, и включим в него поиск по текстовым полям формы расширенного поиска Отчёт отправил: 9014. Николай Денисов Выполнено за 33 мин. [Показать отчёт] Научился: Реализовал проверки данных на получение информации из sql запросов Сложности: ок |
|||||
93 | Расширенный поиск - генератор поиска - ограничивающие даты |
|
|||
На этом уроке мы добавим в генератор отчета расширенного поиска выборку по датам публикации Отчёт отправил: 9014. Николай Денисов Выполнено за 28 мин. [Показать отчёт] Научился: Реализовал поиск объявлений по дате публикации Сложности: ок |
|||||
94 | Расширенный поиск - генератор поиска - три вида цены и один POST |
|
|||
На этом уроке мы реализуем различные варианты выборки объявлений по цене и добавим их в наш генератор расширенного поиска Отчёт отправил: 9014. Николай Денисов Выполнено за 16 час. 43 мин. [Показать отчёт] Научился: Реализовал алгоритм поиска объявлений по цене, точное значение, диапазон значений и больше или меньше указанной цены Сложности: Исправил, так и не понял где была ошибка. Видимо где-то пропустил </div> |
|||||
95 | Обратная связь - свой сайт объявлений |
без видео |
|||
И снова обратная связь.Подумаем самостоятельно и ответим на вопросы: Отчёт отправил: 9014. Николай Денисов Выполнено за 24 мин. [Показать отчёт] Научился: Создал сайт объявлений, выложил в интернет - http://бюлл.элитбалкон.рф/ Я выложил сайт на сервер https://sweb.ru/ - сервером можно пользоваться 2 недели бесплатно Я назвал сайт как можно проще, что первое пришло в голову. Этот сайт я написал исключительно в образовательных целях, на сайте еще много чего не реализовано к примеру : 1 Разделение прав пользователей и администратора 2 Если это будет сайт объявлений, на нем будет очень много объявлений и выводить их все на главной страницы не разумно, сайт сразу сломается. Необходимо сделать ограниченное количество выводимых объявлений, или так называемую ленивую загрузку. 3 Считаю автору Жданову В.В следует в своих курсах показать побольше возможностей Yii2 Жду продолжение!!!! Сложности: На сайте в интернете почему-то не работает расширенный поиск. Я думал что не правильный запрос sql. Но проверка phpMyAdmin приказал что запрос правильный. Видеообзор: 1YE2W238od8 |
|||||
96 | Расширенный поиск - генератор поиска - показать, что нужно |
|
|||
На этом уроке мы реализуем отображение той вкладки поиска по ценам, по которой производился поиск Отчёт отправил: 9014. Николай Денисов Выполнено за 7 час. 24 мин. [Показать отчёт] Научился: Реализовал сохранение диапазона выбранной цены. Не когда не писал циклы в jS было интересно. Сложности: Ок |
|||||
97 | Работа с документацией Yii2 |
|
|||
На этом уроке переходим на один из официальных сайтов по Yii2 и, пользуясь помощью документации, реализовываем одну из своих идей Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 17 мин. [Показать отчёт] Научился: Реализовал загрузку одновременно сразу четырех фотографий Сложности: ок |
|||||
98 | Пользователи и роли - планирование ролевой модели |
|
|||
На этом уроке мы составим ролевую модель пользователей нашего сайта
Отчёт отправил: 9014. Николай Денисов Выполнено за 13 мин. [Показать отчёт] Научился: Спланировал права доступа пользователей разных уровней. Сложности: ок |
|||||
99 | Пользователи и роли - фильтры контроля доступа ACF - теория и эксперименты |
|
|||
На этом уроке мы рассмотрим принципы работы фильтров контроля доступа ACF
Отчёт отправил: 9014. Николай Денисов Выполнено за 14 мин. [Показать отчёт] Научился: Познакомился с фильтром ограничения прав доступа пользователей Сложности: Я думал надо для каждой ерунды всё прописывать, а тут такая крутая штука встроена. |
|||||
100 | Пользователи и роли - фильтры контроля доступа ACF - фильтруем всё |
|
|||
На этом уроке мы сами создадим метод behaviors() в BulletinsController и зададим нужные фильтры для действий контроллера
Отчёт отправил: 9014. Николай Денисов Выполнено за 26 мин. [Показать отчёт] Научился: Написал фильтр, доступ только для зарегистрированных пользователей. Сложности: ок |
|||||
101 | Пользователи и роли - роли через RBAC - теория, установка и миграции |
|
|||
На этом уроке мы установим расширение RBAC, настроим подключение к RBAC и создадим базы для авторизации при помощи механизма миграции Отчёт отправил: 9014. Николай Денисов Выполнено за 35 мин. [Показать отчёт] Научился: Вроде установил, новый компонент, добавил новые таблицы в базу данных. Всё СУПЕР!!! продолжаем кайфовать Сложности: Не нашёл в своём проекте папки Yii2mod. Консоль при добавлении новых компонентов всегда выдает такое предупреждение и требует подтвердить действие, что вводит в заблуждение. Надеюсь всё будет работать как и раньше, когда я сомневался в успехе но все было отлично. |
|||||
102 | Пользователи и роли - роли через RBAC - тесты и практика |
|
|||
На этом уроке мы создадим тестовые роли и разрешения, а также проверим работу контроллера согласно разрешений Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 33 мин. [Показать отчёт] Научился: Разделил права разных пользователей Сложности: Было не просто, с начало выдавало ошибку база данных прав создалась не полностью и я уже почти отчаялся, но есть Гугл и я полез туда. Без труда нашёл команду - $auth->removeAll(); //очистить . После которой всё сработало как надо . Полезные ссылки "думаю нужно добавить к описанию урока" https://habr.com/ru/post/235485/ https://habr.com/ru/post/235485/#comment_8202153 |
|||||
103 | Пользователи и роли - роли через RBAC - вносим действия в план |
|
|||
На этом уроке мы добавим действия к ролям в нашей актуальной ролевой модели
Отчёт отправил: 9014. Николай Денисов Выполнено за 21 мин. [Показать отчёт] Научился: Спланировал все возможные действия пользователей сайта объявлений. |
|||||
104 | Пользователи и роли - роли через RBAC - реализация плана |
|
|||
На этом уроке мы создадим актуальные роли и действия для пользователей нашего сайта
Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 6 мин. [Показать отчёт] Научился: Создал и добавил роли пользователей в базу данных. Сложности: Написал всё правильно и все ровно вылетела ошибка, Оказалось в паре строк написал Child с ошибкой. Чтобы постоянно из базы данных в ручную не удалять, нужно в коде $auth->removeAll(); прописать!!! |
|||||
105 | Пользователи и роли - ACF+RBAC - ограничим доступ к темам |
|
|||
На этом уроке мы реализуем ролевую модель для контроллера тем
Отчёт отправил: 9014. Николай Денисов Выполнено за 29 мин. [Показать отчёт] Научился: Ограничил доступ модератора к темам . Сложности: Наспамил с сайтам так как только фантазии хватило . |
|||||
106 | Пользователи и роли - управление ролями и привилегиями - контроллер и таблица ролей |
|
|||
на этом уроке мы создадим контроллер и представление для управления ролями
Отчёт отправил: 9014. Николай Денисов Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Создал представление для управления ролями. Сложности: После обновления OpenServer, замучился искать сайт. Нужно удалить лишнии сайты чтобы больше часами не копиться. |
|||||
107 | Пользователи и роли - управление ролями и привилегиями - форма добавления роли |
|
|||
На этом уроке мы создадим действие добавления роли и форму добавления роли Отчёт отправил: 9014. Николай Денисов Выполнено за 21 мин. [Показать отчёт] Научился: Создал форму добалвения роли |
|||||
108 | Пользователи и роли - управление ролями и привилегиями - сохранение и удаление роли |
|
|||
На этом уроке мы реализуем сохранение роли, а также напишем алгоритм удаления роли
Отчёт отправил: 9014. Николай Денисов Выполнено за 40 мин. [Показать отчёт] Научился: Реализовал добавление и удаление ролей пользователей |
|||||
Итого: 108 видеоуроков |
23 час. 33 мин. 25 тестов |
3 чел. | |||
Финалисты: Жан, Николай Денисов, Tom . |