Создание Доски объявлений с использованием фреймворка YII2.
Автор: Жданов В.В.
Данный курс - практикум по созданию сайта с использованием фреймворка YII2.
Цель: создание небольшого сайта с нуля до "коробочного" варианта, готового к размещению на хостинге.
Теории здесь не много, больше практической работы по принципу: "произвел действие - получил результат".
Также по максимуму используем функционал фреймворка YII2.
Программируем - и кайфуем!
# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом уроке мы рассмотрим тематику разработки и настроим инструменты Отчёт отправил: 25475. Жан Выполнено за 14 час. 34 мин. [Показать отчёт] Научился: да очень понравился видео урок, познавательный. Научился устанавливать netbeans Сложности: нечего сложного все понятно |
|||||
2 |
![]() |
1 тест |
|||
На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене Отчёт отправил: 25475. Жан Выполнено за 2 дня 9 час. 11 мин. [Показать отчёт] Научился: устанавливал фреймворк YII2 через консоль командой установки Сложности: нечего сложного все понятно Иншаллах!!!!!!!!!! |
|||||
3 |
![]() |
2 теста |
|||
На этом уроке мы настроим удобные для человека ссылки и поменяем название сайта при помощи настроек config/web.php Отчёт отправил: 25475. Жан Выполнено за 6 час. 14 мин. [Показать отчёт] Научился: раскомментировал параметр urlManager в файле webphp. Сделал ЧПУ на шаблоне сайта Сложности: раскомментировать параметр urlManager в файле webphp выдавало синтаксическую ошибку |
|||||
4 |
![]() |
|
|||
На этом уроке мы создадим схему базы данных для нашего проекта
Отчёт отправил: 25475. Жан Выполнено за 2 дня 4 час. 42 мин. [Показать отчёт] Научился: научился определению сущности базы данных Сложности: нечего сложного все понятно Иншаллах!!!! |
|||||
5 |
![]() |
1 тест |
|||
На этом уроке мы создадим базу данных, подключим ее к нашему проекту и создадим таблицу пользователей при помощи механизма миграций Отчёт отправил: 25475. Жан Выполнено за 34 мин. [Показать отчёт] Научился: подключился к базе данных создал миграцию Сложности: получилось все хорошо иншаллах |
|||||
6 |
![]() |
1 тест |
|||
На этом уроке мы подкорректируем модель User и реализуем аутентификацию на сайте через базу данных
Отчёт отправил: 25475. Жан Выполнено за 58 мин. [Показать отчёт] Научился: генерировал файл UserRecord, установил шифрование для пользователя с функцией md5 Сложности: все было понятно отлично Иншаллах!!!!!!!!! |
|||||
7 |
![]() |
|
|||
На этом уроке создадим таблицу и модель Информация о пользователе
Отчёт отправил: 25475. Жан Выполнено за 1 день 21 час. 18 мин. [Показать отчёт] Научился: создавать таблицу о пользователе через MySQL менеджер Сложности: прописывать код в файле UserRecord.php |
|||||
8 |
![]() |
1 тест |
|||
На этом уроке мы рассмотрим теоретические основы работы MVC и создадим новый контроллер в нашем проекте
Отчёт отправил: 25475. Жан Выполнено за 2 час. 5 мин. [Показать отчёт] Научился: создал файл UserController. phpv но не получается вывести надпись на главном экране шаблона "информация о пользователе" Сложности: не получается вывести надпись на главном экране шаблона "информация о пользователе" также создал файл index.php в папке views |
|||||
9 | MVC - информация о пользователе |
|
|||
На этом уроке мы получим данные о пользователе из базы в представление
Отчёт отправил: 25475. Жан Выполнено за 1 день 1 час. 45 мин. [Показать отчёт] Научился: После создания файла UserController. php в папке Controller и файла index.php в папке views отобразил данные о пользователе все работает Сложности: Отобразить данные о пользователе на странице сайта |
|||||
10 | Пользователь - кто зарегистрирован сейчас? |
1 тест |
|||
На этом уроке мы получим информацию о текущем зарегистрированном пользователе, а также сделаем рефакторинг кода Отчёт отправил: 25475. Жан Выполнено за 20 час. 4 мин. [Показать отчёт] Научился: Выводить данные сессий через файл UserRecord все работает Сложности: вывести данные сессии, при запуске логина не выводится фамилия пользователя. А так все работает выводится логин |
|||||
11 | Новый пользователь - заготовка и меню |
|
|||
На этом уроке мы создадим действие и представление для добавления пользователя, а также добавим пункт меню "Регистрация" Отчёт отправил: 25475. Жан Выполнено за 14 час. 39 мин. [Показать отчёт] Научился: создавать представление через файл adduser Сложности: нечего сложного все понятно |
|||||
12 | Новый пользователь - модель для формы |
1 тест |
|||
На этом уроке мы создадим модель параметров формы добавления пользователя
Отчёт отправил: 25475. Жан Выполнено за 1 час. 19 мин. [Показать отчёт] Научился: прописывать код в модели Userform.php Сложности: все понятно нечего сложного |
|||||
13 | Новый пользователь - дизайн формы начало |
|
|||
На этом уроке мы зададим поля формы добавления пользователя
Отчёт отправил: 25475. Жан Выполнено за 1 час. 43 мин. [Показать отчёт] Научился: Создавать хлебные крошки и применять bootstrap Сложности: Валерий Владимирович объясняете все доходчиво и понятно |
|||||
14 | Новый пользователь - дизайн формы: поля и колонки |
1 тест |
|||
На этом уроке мы добавим все поля формы, кнопку сохранения, а также разместим поля в две колонки Отчёт отправил: 25475. Жан Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Добавлять поля формы и добавлять иконку сохранения Сложности: все понятно, очень интересный урок познавательный |
|||||
15 | Новый пользователь - сохранение нового пользователя |
1 тест |
|||
На этом уроке мы напишем алгоритм сохранения записи о пользователе и информации о нем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 28 мин. [Показать отчёт] Научился: Повторил за учителем прописал код в обработчике события actionAdd в файле UserControler.php Сложности: Нечего сложного прекрасное объяснение учителя. |
|||||
16 | Красивая аутентификация на сайте |
|
|||
На этом уроке мы поменяем дизайн формы входа на сайт
Отчёт отправил: 25475. Жан Выполнено за 31 мин. [Показать отчёт] Научился: Менять на свое усмотрение поле формы в файле loginForm.php Сложности: все понятно и доходчиво объясняется остается лишь быть только внимательным |
|||||
17 | Что доступно Юпитеру? |
1 тест |
|||
На этом занятии мы научимся управлять доступом к пунктам главного меню
Отчёт отправил: 25475. Жан Выполнено за 39 мин. [Показать отчёт] Научился: В файле main.php переделал пункт меню Contact Сложности: пока за время обучения нечего не сложного вроде не было. |
|||||
18 | Объявления - создание базы и модели |
1 тест |
|||
На этом уроке мы создадим таблицу bulletins при помощи миграций и сгенерируем для данной таблицы класс ActiveRecord
Отчёт отправил: 25475. Жан Выполнено за 50 мин. [Показать отчёт] Научился: В миграционном файле create_buletins_table.php прописывать данные публикации самих объявлений Сложности: генерировать файл BulletinsRecord.php |
|||||
19 | Объявления - контроллер, представление и много записей |
1 тест |
|||
На этом уроке мы создадим контроллер и представление для работы с объявлениями, а также сделаем связь записей о пользователях и объявлениях типа "один-ко-многим" Отчёт отправил: 25475. Жан Выполнено за 48 мин. [Показать отчёт] Научился: Скрывать контент на сайте от посторонних пользователей в файле в Main.php Сложности: нечего сложного все понятно |
|||||
20 | Объявление - функциональный дизайн страницы |
|
|||
На этом уроке мы сделаем дизайн страницы наших объявлений, который поможет нам работать с объявлениями в дальнейшем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Заполнять содержимое контента применив функцию Bootstrap в файле index.php Сложности: нечего сложного все понятно и доходчиво объясняет учитель |
|||||
21 | Объявление - ограничение доступа |
|
|||
На этом уроке мы ограничим доступ неавторизированного пользователя к странице управления объявлениями, а также решим некоторые технические вопросы
Отчёт отправил: 25475. Жан Выполнено за 42 мин. [Показать отчёт] Научился: Добавил иконки редактировать, удалить, опубликовать в файле Index.php Сложности: Все хорошо боюсь даже сглазить но к урокам отношусь с трепетом и уважением!!!! |
|||||
22 | Объявление - поля для пользовательских форм |
|
|||
На этом уроке мы создадим класс BulletinsForm и определим, какие поля будут использоваться при создании объявления Отчёт отправил: 25475. Жан Выполнено за 32 мин. [Показать отчёт] Научился: Создавать данные об объявлениях в файле BullettinsForm.php Сложности: все понятно и хорошо следуем наставлению учителя |
|||||
23 | Объявление - форма добавления объявлений |
1 тест |
|||
На этом уроке мы создадим представление для добавления объявлений и действие контроллера, запускающего это представление Отчёт отправил: 25475. Жан Выполнено за 19 час. 5 мин. [Показать отчёт] Научился: В файле BulletinController.php прописал метод добавления объявления ActionAdd а также реализовать дизайн формы полей в файле add.php Сложности: все получилось хорошо |
|||||
24 | Объявление - сохранение в черновик |
|
|||
На этом уроке мы реализуем механизм сохранения нового объявления в черновик
Отчёт отправил: 25475. Жан Выполнено за 2 час. 10 мин. [Показать отчёт] Научился: Добавлять записи в файле BulletinRecord Сложности: при добавлений объявлений выдает ошибку Class 'app\models\BulletinsRecord' not found |
|||||
25 | Объявление - список |
|
|||
На этом уроке мы реализуем вывод сохраненных в базе объявлений в список
Отчёт отправил: 25475. Жан Выполнено за 1 час. 21 мин. [Показать отчёт] Научился: В файле BulletinsController. php добавил методы удаления, публикаций объявления. В файле index.php кнопки добавления и публикаций. Сложности: нечего сложного все по делу объясняет учитель |
|||||
26 | Объявление - всё на публику |
1 тест |
|||
На этом уроке мы сделаем наши объявления опубликованными
Отчёт отправил: 25475. Жан Выполнено за 1 час. 20 мин. [Показать отчёт] Научился: Добавлять механизм публикаций объявлений на сайте в базу данных Сложности: прописывать сам механизм вывода объявлений через сайт в базу данных |
|||||
27 | Объявление - публикация на главной странице |
1 тест |
|||
На этом уроке мы разместим наши опубликованные объявления на главной странице сайта
Отчёт отправил: 25475. Жан Выполнено за 2 час. 40 мин. [Показать отчёт] Научился: Организовал отображение объявления пользователе на главном экране в файле Index.php Сложности: нечего сложного все внятно и понятно |
|||||
28 | Объявление - скрыть нельзя удалить |
|
|||
На этом уроке мы реализуем возможность помещать объявления в группу удаленных, восстанавливать их оттуда, а также отключать их просмотр Отчёт отправил: 25475. Жан Выполнено за 1 час. 15 мин. [Показать отчёт] Научился: Организовал вывод объявления на главную страницу, добавил функцию удаления, восстановления, отключения просмотра в файле BulletinsController. php Сложности: нечего сложного, все понятно. |
|||||
29 | Объявление - статусный рефакторинг |
1 тест |
|||
НА этом уроке мы сделаем рефакторинг методов работы со статусом объявлений
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт] Научился: Производить рефакторинг методом setStatus в файле BulletinController.php Сложности: Прописывать единый код методом setStatus |
|||||
30 | Объявление - рефакторинг редактирования |
|
|||
На этом уроке мы реализуем редактирование путем небольшого видоизменения функции добавления записи
Отчёт отправил: 25475. Жан Выполнено за 1 час. 26 мин. [Показать отчёт] Научился: Рефакторинг функций редактирования и его сохранения в базу данных в файле BulletinsController.php Сложности: прописывать код в файлах BulletinsController.php BulletinsForm.php |
|||||
31 | Объявление: запрос - в функцию & кнопка для изображений |
|
|||
На этом уроке мы сделаем рефакторинг метода index и добавим кнопки для перехода в режим работы с изображениями
Отчёт отправил: 25475. Жан Выполнено за 50 мин. [Показать отчёт] Научился: Создавать кнопки "фото" во вкладке черновики на сайте Сложности: проводить рефакторинг в файле BulletinsController |
|||||
32 | Изображения - микс из миграций |
|
|||
На этом уроке мы через механизм миграций создадим таблицу photo и добавим поле для аватары в таблицу bulletins
Отчёт отправил: 25475. Жан Выполнено за 1 час. 13 мин. [Показать отчёт] Научился: В базе данных создал таблицу photo с помощью миграции Сложности: создать таблицу в базе данных пользоваться функцией миграции |
|||||
33 | Изображения - снова MVC |
|
|||
На этом уроке мы создадим модель, контролер и представление для работы с фото
Отчёт отправил: 25475. Жан Выполнено за 30 мин. [Показать отчёт] Научился: Подключать кнопку фото и вывод на страницу сайта Сложности: подключать файлы BulletinsRecord.php |
|||||
34 | Изображения - работа с моделью |
|
|||
На этом уроке мы передадим модель нашего объявления в представление
Отчёт отправил: 25475. Жан Выполнено за 52 мин. [Показать отчёт] Научился: прописал механизм добавления кнопки "Добавить фото" на странице пользователя Сложности: прописывать код в файле photo/Index. php |
|||||
35 | Работаем над ошибками - YII2 в помощь |
|
|||
На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
Отчёт отправил: 25475. Жан Выполнено за 5 час. 46 мин. [Показать отчёт] Научился: Узнал из этого урока много нового о дебаггере web/index.php узнал что он включен и выводит ошибки. Например при допущенной опечатке в команде public function setPublic в файле BulletinRecords.php при обновлений страницы сайта выдало ошибку "Setting unknown property: app\models\BulletinsRecord::status_" "не известное свойство" с указанием файла и линий ошибки с подсвечиванием строки розового маркера Сложности: Сложно искать ошибки когда допускаешь опечатку в тексте. Иногда опечатку можно допустить в именование файла и указаний к ним пути. Даже бывали случае когда таблицу в базе данных именовал не соответственно. |
|||||
36 | Изображения - где живут картинки |
1 тест |
|||
На этом уроке мы создадим папку для изображений, разместим там изображение по умолчанию, а также создадим универсальные параметры пути и изображения по умолчанию
Отчёт отправил: 25475. Жан Выполнено за 59 мин. [Показать отчёт] Научился: Добавлять заставку "нет изображения" на фото рамку на странице публикации объявления Сложности: прописывать код в файле site/index.php |
|||||
37 | Изображения - модель формы |
|
|||
На этом уроке мы создадим модель PhotoForm для работы с изображениями Отчёт отправил: 25475. Жан Выполнено за 34 мин. [Показать отчёт] Научился: Реализовал модель файла и прописал коды в нём PhotoForm.php Сложности: Организовать код в файле site/index.php |
|||||
38 | Изображение - загрузочное представление |
|
|||
На этом занятии мы создадим форму представления, через которое будет загружаться изображение Отчёт отправил: 25475. Жан Выполнено за 41 мин. [Показать отчёт] Научился: Прописывать подключение к моделям PhotoForm.php и к файлу PhotoRecord.php Сложности: добавлять форму кнопок в файле add.php |
|||||
39 | Изображение - загрузка файла на сайт |
1 тест |
|||
На этом уроке мы реализуем алгоритм загрузки изображений на сайт
Отчёт отправил: 25475. Жан Выполнено за 1 час. 48 мин. [Показать отчёт] Научился: Реализовал загрузку изображений в папку images созданной в корневой папки web через созданный файл PhotoForm.php Сложности: Прописывать функцию загрузки изображений через и параметров в файле PhotoController.php |
|||||
40 | ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР |
без видео |
|||
Мы уже многое сделали на нашем видеокурсе, и автору очень важно узнать Ваше мнение о данном курсе и получить обратную связь в форме видео-презентации и ответов на вопросы. Сделай видео-презентацию своего сайта. Отчёт отправил: 25475. Жан Выполнено за 1 час. 5 мин. [Показать отчёт] Научился: Прописывать функций авторизации пользователей, создавать функцию добавления объявления, редактирования, удаления объявления отображения заставки "нет изображения" в вкладке фото объявлений. Так же научился создавать механизм загрузки изображений. Освоил механизм и функцию миграции на фреймворке YII2 с помощью которых прописываются функции работы с моделями и контроллерами. Сложности: Прописывать разные функций в моделях и контроллерах создавать миграции так как одна опечатка может создать неверную миграцию либо совсем не создать миграцию. Видеообзор: YXnOjLv6sTw |
|||||
41 | Изображение - сохранение пути в базу |
|
|||
На этом уроке мы реализуем сохранение пути к файлу изображений в базу данных
Отчёт отправил: 25475. Жан Выполнено за 1 час. 54 мин. [Показать отчёт] Научился: Реализовывать механизм сохранения изображений в базу данных через представления photo/index.php и /photo/add.php Сложности: Самое сложное выводить и сохранять изображения в базу данных при каждом сохранении изображений в базу данных в таблице "Photo" значение ID=разные числа и значение BULL_ID=5 всегда это нормально? Кто подскажет???? А так все работает и загрузка происходит. |
|||||
42 | Изображение - управление картинками |
|
|||
На этом уроке мы займемся дизайном - создадим выпадающее меню управления изображением
Отчёт отправил: 25475. Жан Выполнено за 28 мин. [Показать отчёт] Научился: Реализовал в файле photo/index.php с помощью bootstrap кнопку управление фото и его контекстное меню. Сложности: Использовать bootstrap в файле так как много функций и решений и желаемое порой не получается |
|||||
43 | Изображение - JS - немного теории и пижонства |
1 тест |
|||
На этом уроке мы рассмотрим работу JS на yii2
Отчёт отправил: 25475. Жан Выполнено за 48 мин. [Показать отчёт] Научился: Создавать скрытые функций на странице с помощью скрипта написанного на языке JS Сложности: Прописывать код на языке JS так как ранее данным языком не пользовался |
|||||
44 | Изображение - JS - глобализация |
|
|||
На этом уроке мы перенесем все скрипты JS в отдельный файл, а также реализуем открытие и скрытие элементов ввода информации Отчёт отправил: 25475. Жан Выполнено за 1 час. 19 мин. [Показать отчёт] Научился: Разрабатывать собрание скриптов в файле main.js и прописывать функцию скрытия полей и контекстного меню под фото Сложности: Прописывать функцию в файле photo/index.php и пути к этим функциям |
|||||
45 | Изображение - JS - сохранение информации в базу |
1 тест |
|||
На этом уроке мы научим нашу систему сохранять информацию об изображениях в базу с использованием технологии ajax Отчёт отправил: 25475. Жан Выполнено за 3 час. 26 мин. [Показать отчёт] Научился: Прописывать метод сохранения в базу данных в файле PhotoController.php а так же использовать скрипт JS Сложности: Не получалось обновить страницу после внесенных изменений в базу данных и изменения в контекстное меню "информация фото" |
|||||
46 | Изображение - JS - извлечение методом ajax |
|
|||
На этом уроке мы научим ajax получать информацию об изображениях из базы
Отчёт отправил: 25475. Жан Выполнено за 50 мин. [Показать отчёт] Научился: Прописывать метод получения информации из базы данных с помощью функции Get в файле PhotoController.php. Прописывать функцию авто обновления страницы и информации из базы данных. Сложности: При повторном сохранении информации об изображений на последующей картинке информация обновляется не сразу а после того как принудительно обновишь страницу. Хочу поделиться мыслью может быть функцию обновления location.reload(); указать для всех фото photo_id по умолчанию для получения и добавления информации, но это мысль не судите строго и не ругайте. |
|||||
47 | Изображение - аватарка - вывод на главной странице |
|
|||
На этом уроке мы реализуем вывод главных изображений каждого объявления (далее - аватарки) на главной странице Отчёт отправил: 25475. Жан Выполнено за 3 час. 33 мин. [Показать отчёт] Научился: Создавать функцию получения аватарки GetAvatar и добавления аватарки на рамку изображения в объявлений Сложности: прописывать функцию получения аватарки в файле site/index.php |
|||||
48 | Изображение - аватарка - работа над ошибками связей |
|
|||
На данном уроке мы исправим ошибки вывода фотографий, очистим базу и заново загрузим в нашу базу фотографии в одно из объявлений Отчёт отправил: 25475. Жан Выполнено за 47 мин. [Показать отчёт] Научился: Исправлена ошибка в PhotoController.php скопирован код по отношению к id к каждому объявлению и размещен в каждом действие Сложности: удалять фотографий из базы данных так при каждом добавлений фотографий из за обновления браузера не отображалась информация о таблице |
|||||
49 | Изображение - аватарка - как стать главной |
|
|||
На этом уроке мы создадим код, делающий любое фото главным
Отчёт отправил: 25475. Жан Выполнено за 21 мин. [Показать отчёт] Научился: В файле main.js прописана функция присвоения изображения аватарки главной на странице объявления так же прописана функция SetAvatar в действии в файле PhotoController.php Сложности: Сложности возникли после присвоения функции в файле photo/index.php необходимо несколько раз обновлять страницу сайта чтобы изменения вступили в силу. |
|||||
50 | Изображение - удаление - ни шагу без подтверждения! |
|
|||
На этом уроке мы реализуем всплывающее окно подтверждения действия и протестируем результаты выбора различных вариантов Отчёт отправил: 25475. Жан Выполнено за 28 мин. [Показать отчёт] Научился: Прописана кнопка "удалить фото" и его подтверждения об удалении в файле main.js а так же присвоена кнопки "удалить фото" photo_id Сложности: После прописывания функций, некоторые изменения не вступят в силу если не обновить страницу по раскладке клавиатуры Ctrl+f5 |
|||||
51 | Изображение - удаление - удаление файла и записи |
|
|||
На этом уроке мы реализуем удаление файлов изображений и записей о них из базы данных
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт] Научился: Активировать метод удаления изображения setdelete в файле main.js так же из базы данных удалять фотографию функцией isAjax в файле PhotoController.php Сложности: Прописывать метод удаления из базы данных в файле main.js а также необходимость обновления страницы. |
|||||
52 | Главная страница - подробности - ссылки и заготовка представлени |
|
|||
На этом уроке мы создадим ссылки для объявлений на главной странице и заготовку представления для подробного вывода информации объявления Отчёт отправил: 25475. Жан Выполнено за 38 мин. [Показать отчёт] Научился: Реализована ссылка на страницу объявления в файле site/index.php создан файл site/viewbulletin.php Сложности: Прописывать функцию то есть действие actionViewBulletin в файле SiteController.php |
|||||
53 | Главная страница - подробности - больше подробностей |
|
|||
На этом уроке мы выведем максимум информации на страницу подробностей объявления
Отчёт отправил: 25475. Жан Выполнено за 37 мин. [Показать отчёт] Научился: Выводить подробную информацию об объявлений на странице сайта путем прописывания в файле site/viewbulletein.php Сложности: Прописать код в файле site/viewbulletein.php так как несколько раз допускал ошибки в коде из за этого не выводилось информация на страницу |
|||||
54 | Главная страница - подробности - расширяя информацию |
1 тест |
|||
На этом уроке мы внесем в наш код изменения, которые позволят сохранять объявления с большим количеством информации Отчёт отправил: 25475. Жан Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: Создавать миграционный файл alter_info_column_to_bulettins_table продлевать колонку информации в базе данных с помощью данного файла. Размещать многозначные объявления. Сложности: При реализации функции форматирования nl2br допустил ошибку из за этого возникла ошибка на странице экрана. Нашел ошибку, исправил. |
|||||
55 | Главная страница - оформление - дизайн объявления |
|
|||
На этом уроке мы зададим стиль дизайна объявления
Отчёт отправил: 25475. Жан Выполнено за 43 мин. [Показать отчёт] Научился: Оформлять вывод объявления и информацию, размещение на странице сайта через файл site/viewbulletin.php Сложности: Сложно оформлять страницу когда не знаешь все трюки функций bootstrap |
|||||
56 | Главная страница - оформление - дизайн элементов базовой страницы |
1 тест |
|||
На этом уроке мы выведем информацию о себе в элементе footer и сделаем главное меню стильным и красивым
Отчёт отправил: 25475. Жан Выполнено за 1 час. 3 мин. [Показать отчёт] Научился: В файле layouts/main.php через css заменил цветовую схему в navbar, в footer поменял информацию о сайте убрал настройки по умолчанию которые шли при установке YII2. А интересно можно ли сделать в footer ссылки на социальные сети с иконками. Сложности: Сложное в файле css выбирать цветовую схему так как при обновлений не знаешь как будет выглядит страница. |
|||||
57 | Главная страница - оформление - ловим цвет пикселя |
|
|||
На этом уроке мы рассмотрим использование инструментов определения цвета пикселя (Пипетка) Отчёт отправил: 25475. Жан Выполнено за 42 мин. [Показать отчёт] Научился: Задавать скопированный цвет с помощью браузерной пипетки MozilaFirefox очень удобный инструмент Сложности: При использовании браузерной пипетки MozilaFirefox есть один большой минус пипетку нельзя использовать вне браузера, а так очень удобная вещь |
|||||
58 | Главная страница - оформление - смотрим все изображения |
|
|||
На этом уроке мы реализуем просмотр всех изображений объявления "не хуже, чем на Avito"
Отчёт отправил: 25475. Жан Выполнено за 1 час. 2 мин. [Показать отчёт] Научился: Прописан блок <div> в файле ViewBulletin.php реализована функция наведения на мелкое изображение и вывод его на просмотр а так же создан файл bull.js не посредственно отвечающий за данную функцию Сложности: После реализации функции наведения на мелкое изображение и вывод просмотра изображения получилось так что изображения ведь могут быть не одного размера и при просмотре изображение то есть край рамок перекрывает информацию и публикацию объявления. Знаю что можно прописать код в файле web/css и установить ограничивающую рамку, кто подскажет буду признателен. |
|||||
59 | Главная страница - оформление - стильный логотип |
|
|||
На этом уроке мы реализуем вывод логотипа в иконку проекта и в пункт меню перехода на главную страницу
Отчёт отправил: 25475. Жан Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Устанавливать логотип в корневой папке web/ favicon.ico устанавливать на заголовок главной страницы сайта Сложности: При установке логотипа на странице объявления в заголовке "Доска объявления" при переходе в страницу мои объявления не отображается логотип |
|||||
60 | Главная страница - оформление - оповещения через баннер |
|
|||
На этом уроке мы создадим баннер для оповещений, новостей
Отчёт отправил: 25475. Жан Выполнено за 48 мин. [Показать отчёт] Научился: Реализовал функцию выставления баннера на странице пользователя и отсутствие при выходе из учетной записи. Функция реализована в файле layouts/main.php. Данную функцию можно использовать в качестве оповещения о просмотре объявления автора либо если кто то написал сообщение на объявления либо если кто то добавил в избранные объявления. Так же данную функцию можно использовать в качестве рекламного баннера либо выставлять товар недели или оповещать о снижении цен на интересующий товар. Сложности: Прописывать функцию появления баннера в файле layouts/main.php. Устанавливать баннер над хлебными крошками breadcrumbs |
|||||
61 | Разделы (темы) - немного теории |
|
|||
На этом уроке мы рассмотрим вопрос тематик объявлений на нашем сайте, а также составим план (структуру) таблицы тем Themes и связующей таблицы ThemesBulletins
Отчёт отправил: 25475. Жан Выполнено за 51 мин. [Показать отчёт] Научился: Рассматривать структуру тематик объявления. Если есть тема объявления то данное объявление пользователю можно разместить в нескольких под разделах. Например если продается автомобильная запасная часть разместить можно как в дочерней рубрике автозапчасти так и в под рубрике например "тюнинг" либо "автоуслуги" либо вообще рубрика СТО. Сложности: Нечего сложного все понятно. Таблицу с темами и под темами с рубриками и разделами под разделами можно составлять сколь угодно много |
|||||
62 | Разделы (темы) - миграции с внешними ключами |
|
|||
На этом уроке мы создадим миграции таблиц themes и themesbulletins, сами эти таблицы и их модели ActiveRecord с внешними связями
Отчёт отправил: 25475. Жан Выполнено за 4 час. 51 мин. [Показать отчёт] Научился: На уроке через консоль OpenServer путем миграции создал два файла create_themes_table а также create_themesbulletin_ table. После этого через генератор gii создал две модели файла ThemesRecord.php и ThemesBulletinRecord.php со связью базы данных Сложности: Нечего сложного. При использований консоли то есть при созданий миграции допустил несколько синтаксических ошибок из за этого миграционный файл не создал должным образом таблицы |
|||||
63 | Обратная связь - мозговой штурм - внештатные ситуации |
|
|||
В данном уроке попрошу Вас выполнить небольшую самостоятельную работу и дать обратную связь. Отчёт отправил: 25475. Жан Выполнено за 37 мин. [Показать отчёт] Научился: Переименовал таблицу bulettins в базе данных bulletinsdb и получил ошибку при повторном входе на страницу сайта тип ошибки Database Exception. Заново переименовал таблицу. Страница восстановлена. При добавлении объявлений вбил код <?php ?> и заключил текст объявлений <div> </div> блок нечего страшного не произошло объявление сохранилось. При просмотре изображений в объявлений, фотографий разного размера перехлестывается с информацией об объявлений то есть краем рамки перекрывают дату публикации и информации. Еще бы хотелось бы реализовать на сайте окончательное удаление объявление чтобы не грузить объемом память базы данных и папку сохранения изображения на сайте. После того как добавил фотографию, при добавлений информации о фотографий хотелось бы реализовать функцию чтобы текст прописывался по нажатию кнопки "Enter". Сложности: Когда переименовал таблицу в базе данных при входе на страницу сайта не мог понять в чем дело. Выдавало ошибку на странице. Благо того что сохранил копию базы данных. Заново импортировал файл базы данных. Также возникла трудность когда хотел заменить логотип в заголовке надписи. Выдавало предупреждение в меню редактора PhPstorm с надписью что логотип используется в файле. |
|||||
64 | Разделы (темы) - вывод тем в объявлении |
|
|||
На этом уроке мы реализуем вывод тем на странице объявления
Отчёт отправил: 25475. Жан Выполнено за 1 час. 16 мин. [Показать отчёт] Научился: Добавлять записи и темы разделы в таблицы базы данных. Осуществлять связь тем и разделов с объявлениями на странице сайта. Выводить название тем и разделов в объявлениях. В файле ViewBulletin.php прописан блок <?php foreach ?> Сложности: Когда осуществлял связь с таблицей базы данных. При входе на страницу выдало ошибку о том что не может найти файл themesbulletin. После нашел в чем причина исправил ошибку в слове пропустил одну букву. |
|||||
65 | Разделы (темы) - меню тематик |
|
|||
На этом уроке мы реализуем вывод ссылок на темы на главной странице и подсчет объявлений в каждой теме
Отчёт отправил: 25475. Жан Выполнено за 59 мин. [Показать отчёт] Научился: Выводить список тем на главную страницу сайта. Выводить их подсчет количество объявлений в файле ThemesRecord.php с помощью функции count то есть подсчет Сложности: В базе данных выводить темы и дочерние под категории объявления |
|||||
66 | Разделы (темы) - тематические выборки |
|
|||
На этом уроке мы реализуем выбор объявлений по темам и вывод их на основную страницу
Отчёт отправил: 25475. Жан Выполнено за 57 мин. [Показать отчёт] Научился: Реализовал функционал сортировки объявление по темам изменил параметр href в файле site/index.php. Следуя указанию учителя прописал функцию getBullCurrTheme в файле ThemesRecord.php Сложности: Нечего сложного все получилось хорошо. Проверил вывод объявления по темам и на главной странице. Пока всё хорошо работает. |
|||||
67 | Разделы (темы) - полезные переходы |
|
|||
На этом уроке мы реализуем возвращение со страницы объявлений на предыдущую страницу, а также переходы по темам объявления по типу хештегов
Отчёт отправил: 25475. Жан Выполнено за 40 мин. [Показать отчёт] Научился: Вместе с учителем решили задачу возврата на предыдущую страницу в каждом объявления используя функцию $prev_url в файле viewbulletin.php а так же обозначились хэштеги с кнопками в темах под объявлением в каждом объявление что возвращает пользователя в общую тему и раздел Сложности: Нечего сложного нет если следовать указаниям учителя. Пока все работает хорошо без сбоев в проекте |
|||||
68 | Разделы (темы) - администрирование - теория и заготовки |
|
|||
На этом уроке мы создадим контроллер для администрирования разделов (тем) и представление index
Отчёт отправил: 25475. Жан Выполнено за 51 мин. [Показать отчёт] Научился: В меню навигации создано кнопка "справочник тем" в файле main.php. Создан контроллер ThemesController.php для вывода на страницу "администрирование тем". Создан файл index.php в папке themes Сложности: После создания файла ThemesController.php не работал вывод на страницу экрана так как забыли прописать use yii\web\Controller; |
|||||
69 | Разделы (темы) - администрирование - все темы в таблицу |
|
|||
На этом уроке мы выведем существующие темы в таблицу и зададим им элементы управления
Отчёт отправил: 25475. Жан Выполнено за 1 час. 17 мин. [Показать отчёт] Научился: Реализовали и оформили страницу кнопки "справочник тем". На странице добавили кнопки "Тема", "Управление" а также вывели связь с уже существующими темами на сайте то есть разделы. Выше перечисленное мы сделали в файле themes/index.php Сложности: Нечего сложного не было. Единственное когда прописывал блоки оформления страницы в файле themes/index.php кнопкам задал не те параметры. Нашел ошибки исправил. Обратил внимание во время. Кто подскажет надписи самих тем и разделов хотел бы сделать чуть-чуть жирнее на странице в справочнике тем. |
|||||
70 | Разделы (темы) - администрирование - подтверждение удаления |
|
|||
На этом уроке мы реализуем алгоритм подтверждения удаления и создадим соответствующее представление
Отчёт отправил: 25475. Жан Выполнено за 1 час. 7 мин. [Показать отчёт] Научился: Создан механизм удаления и его отмены в справочнике тем по кнопке "удалить". Реализована функция actionDeletequery. Проверена на корректность работа способности. Был создан файл deletequery.php в папке themes Сложности: При оформлении и созданий кнопок удаления/отмены объявления несколько раз ошибся поставив блоки не туда куда надо. Найденные ошибки исправил. |
|||||
71 | Разделы (темы) - администрирование - удаление разделов и чистка связей |
|
|||
На этом уроке мы окончательно удалим раздел, а перед этим удалим все его связи с объявлениями
Отчёт отправил: 25475. Жан Выполнено за 47 мин. [Показать отчёт] Научился: Организовали на странице сайта удаление тем и связей через такую функцию как "setDeleteThemesBullRecord" в файле ThemesController.php Сложности: Нечего сложного. При работе с базой данных заметил что если добавляешь в базе данных тему и связь к ней с объявлением, то на странице сайта в разделах и темах дублируется одно и тоже объявления и под объявлениями дублируются хэштеги которые мы сделали на прошлых уроках. Кто подскажет почему дублируются хэштеги и сами объявления. Буду признателен. Это ошибка??? |
|||||
72 | Разделы (темы) - администрирование - Обычный ThemesForm |
|
|||
На этом уроке мы создадим модель ThemesForm, заготовку действия Add в контроллере Themes и представление под него
Отчёт отправил: 25475. Жан Выполнено за 39 мин. [Показать отчёт] Научился: Создана заготовка в виде файла add.php. Прописана функция public function actionAdd в файле ThemesController.php. Создан файл ThemesForm.php в данном файле заданы необходимые атрибуты public function attributeLabels Сложности: Нечего сложного все хорошо прописано и отработано. Убраны скобки в файле main.php. в navbar. Теперь меню навигации отображается одинаково |
|||||
73 | Разделы (темы) - исправление подсчета и отображение текущей темы |
|
|||
Hа этом уроке мы исправим ошибку подсчета, обнаруженную в процессе прохождения курса, а также отобразим текущую тему, по которой выборка объявлений, в баннере Отчёт отправил: 25475. Жан Выполнено за 43 мин. [Показать отчёт] Научился: Исправлять ошибку подсчета то есть функцию return count($this->getBullCurrTheme()); Прописывать баннер в файле SiteController.php. выводить сам баннер на страницах объявления по темам и на главной странице. Сложности: При написании класса Yii::$app->session->setFlash и реализации самого баннера забыл вбить "session" и получилась ошибка по невнимательности отвлекся. Но нашел исправил ошибку. |
|||||
74 | Разделы (темы) - администрирование - "темное" представление |
|
|||
На этом уроке мы создадим поля для редактирования или добавления темы в представлении themes\add
Отчёт отправил: 25475. Жан Выполнено за 51 мин. [Показать отчёт] Научился: В файле add.php созданы yii\helpers\Html; Реализованы и оформлены поля добавления информации также реализованы кнопки "сохранить" и "отмена". На кнопку "отмена" применен prev_url что дает нам возврат на страницу добавления темы. Сложности: Когда оформляешь поля формы добавления информации и кнопки разного функционала незнание Bootstrapa дает о себе знать. |
|||||
75 | Разделы (темы) - администрирование - волшебный выпадающий список |
1 тест |
|||
На этом уроке мы создадим выпадающий список выбора родительской темы
Отчёт отправил: 25475. Жан Выполнено за 31 мин. [Показать отчёт] Научился: Реализован выпадающий список dropDownList в файле add.php. Для реализации данной задачи добавлены хэлпер yii\helpers\ArrayHelper; Сложности: Нечего не было сложным. Очень долго обновляется страница по раскладке клавиатуры Ctrl+F5 но это вопрос касательно моего железа и браузера. |
|||||
76 | Разделы (темы) - администрирование - сохранение темы |
|
|||
На этом уроке мы реализуем сохранение добавляемых и редактируемых тем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 31 мин. [Показать отчёт] Научился: В файле ThemesController.php создано действие actionAdd. В файле ThemesRecord.php создана функция setNewRecord($form) так же в файле ThemesForm.php реализована функция setNewForm($record). Все вышеперечисленное протестировано на редактирование, сохранение и удаление записей тем в базу данных и вывода на страницу сайта во вкладке "справочники тем". Сложности: При входе в базу данных phpMyAdmin через браузер Mozila Firefox очень медленно запускается. Кто знает в чем причина и можно ли поменять сам браузер в ospanel. |
|||||
77 | Разделы (темы) - администрирование - рефакторинг и валидация |
|
|||
На этом уроке мы сделаем рефакторинг нашего представления add и валидацию данных формы ThemesForm
Отчёт отправил: 25475. Жан Выполнено за 32 мин. [Показать отчёт] Научился: В файле add.php произведен рефакторинг и задана функция parent_themes_find. В файле ThemesForm.php в функцию rules добавлена поле title со значением "Поле не должно быть пустым" Сложности: При назначении поле title со значением "Поле не должно быть пустым" в функции rules ошибся с назначением. Нашел ошибку и исправил. |
|||||
78 | Связи объявлений и тем - заготовка |
|
|||
На этом уроке мы создадим действие в контроллере BulletinsController и представление, которые помогут нам работать со связями объявлений и тем Отчёт отправил: 25475. Жан Выполнено за 58 мин. [Показать отчёт] Научился: Реализована заготовка кнопки и вкладки удаления тем в вновь созданном файле addtheme.php и вывода на страницу сайта. Прописана функция actionAddtheme в файле BulletinsController.php. Сложности: При выводе на страницу сайта вкладке удаления тем выдало ошибку. Нашел исправил ошибку. Ошибка заключалась в коде <?php foreach. пропустил одну букву |
|||||
79 | Связи объявлений и тем - добавление новой темы |
|
|||
На этом уроке мы научим нашу систему добавлять новую тему в объявление (делать связь темы и объявления)
Отчёт отправил: 25475. Жан Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: На данном уроке реализовали создали файл ThemesbulletinsForm.php добавили в него необходимые атрибуты attributeLabels. В файле прописали хэлперы осуществили выпадающий список с помощью getListThemes Сложности: При выводе сохранения тем в файле ThemesbulletinsRecord.php указало что не назначили класс. Нашли ошибку вместе с учителем и исправили. |
|||||
80 | Связи объявлений и тем - темы, которых не было |
1 тест |
|||
На этом уроке мы научим нашу систему выводить в список добавляемых в объявление тем только те, которые не прикреплены к нашему объявлению
Отчёт отправил: 25475. Жан Выполнено за 53 мин. [Показать отчёт] Научился: Реализована сортировка связки тем с объявлениями при помощи select в файле ThemesbulletinsForm.php. Сделана выборка тем которых нет в выбранном списке Сложности: Все понятно нечего сложного не было. Только то что надо обязательно обновлять глобально по раскладке клавиатуры |
|||||
81 | Связи объявлений и тем - темы, которых не будет |
|
|||
На этом уроке мы научим нашу систему удалять из объявлений темы, к которым наше объявление привязывать не надо
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт] Научился: В файле addtheme.php дополнен параметр ссылок href. В файле BulletinsController.php в функции actionDeletetheme реализован необходимый функционал для удаления связок ID тем с редактируемым объявлением. Сложности: При тестировании функции удаления ID тем и связок с объявлением, после удаления нечего не произошло. Но все таки надо даже нужно обновлять браузер для глобальных изменений через Ctrl+F5 |
|||||
82 | Глобальный поиск - поле поиска в меню |
|
|||
На этом уроке мы добавим поле поиска в навигационное меню сайта, а также решим вопрос с активными пунктами меню.
Отчёт отправил: 25475. Жан Выполнено за 1 час. 10 мин. [Показать отчёт] Научился: В пункте навигационного меню выделена цветом активная страница, в файле main.php реализована заготовка окно поиска по сайту в навигационном меню. Сложности: Работать в браузере во окне веб мастера по которой перешли по раскладке F12 так как окна настроек загромождают друг друга. |
|||||
83 | Глобальный поиск - ищем глобально |
|
|||
На этом уроке мы создадим алгоритм поиска по вводимому в поле search контенту
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт] Научился: В файле SiteController.php создано действие actionSearch в данном действии прописаны методы поиска по тексту объявления по городу и по названию объявления. В методах поиска была имитирована синтаксическая ошибка что и вывелось на страницу сайта. Сложности: Прописывать методы поиска в SiteController.php |
|||||
84 | Расширенный поиск - группировка пунктов главного меню |
|
|||
На этом уроке мы сгруппируем пункты главного меню в подразделы, и сделаем в нем ссылку на страницу расширенного поиска Отчёт отправил: 25475. Жан Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Сгруппировал пункты меню в общий раздел "Администрирование". Реализована заготовка пункта меню "Расширенное меню". Сложности: При группировании пунктов меню раздел "Администрирование". кнопки 'мои объявления' а так же "справочник тем" и "расширенный поиск" не проявляются активным образом не отображаются стили и цвета шрифтов которые применяли ранее для общего меню навигации. Хотел изменит по F12 открыв окно вебмастера не получилось оформить. Кто подскажет буду признателен. |
|||||
85 | Расширенный поиск - заготовки и план |
|
|||
На этом уроке мы набросаем план будущей страницы расширенного поиска, а также создадим действие контроллера и заготовку представления расширенного поиска Отчёт отправил: 25475. Жан Выполнено за 42 мин. [Показать отчёт] Научился: В файле SiteController.php создано действие actionAdvsearch и сделан вывод представления в вновь созданном файле site/advsearch.php. Реализована заготовка плана поиска в блокнот Сложности: При реализации функции actionAdvsearch в файле SiteController.php не получилось вывести представление в файле site/advsearch.php. так как допустил ошибку в слове search указал с заглавной буквой "S". Нашел ошибку, исправил. |
|||||
86 | Расширенный поиск - стили и форма |
|
|||
На этом уроке мы внесем исправления в стили субменю и сделаем модель формы расширенного поиска
Отчёт отправил: 25475. Жан Выполнено за 35 мин. [Показать отчёт] Научился: Реализовали изменения в файле оформления и дизайна навигационного меню. Реализована заготовка для поиска по критериям в вновь созданном файле AdvsearchForm.php Сложности: Сложностей на данном этапе урока не возникло. |
|||||
87 | Расширенный поиск - дизайн текстовых полей и кнопки |
|
|||
На этом уроке мы прокачаем навыки дизайна текстовых полей, создания активной формы в представлении, а также создания кнопки через хелперы yii2 Отчёт отправил: 25475. Жан Выполнено за 45 мин. [Показать отчёт] Научился: Реализована заготовка полей и форм для расширенного поиска по сайту в файле advsearch.php. Применены специальные хэлперы yii\helpers\Html; Сложности: При оформлении дизайна полей и применения bootstrap |
|||||
88 | Расширенный поиск - цена - выбор варианта |
|
|||
На этом уроке мы создадим систему управления выбором варианта поиска по цене
Отчёт отправил: 25475. Жан Выполнено за 40 мин. [Показать отчёт] Научился: Реализована заготовка дизайна параметров цены в файле advsearch.php так же создан скрипт js для заготовки кнопок и их активности в файле main.js Сложности: Сложности возникли при реализации скрипта js перепутал кавычки вместо одинарных поставил двойные. |
|||||
89 | Расширенный поиск - цена - невидимые поля |
|
|||
На этом уроке мы создадим невидимые блоки с полями поиска цены, которые становятся видимыми при нажатии определенного пункта навигатора
Отчёт отправил: 25475. Жан Выполнено за 1 час. 4 мин. [Показать отчёт] Научился: Вместе с учителем реализовали навигатор диапазона цен а точнее заготовку и дизайн параметров их видимость и скрытность при активизации прописаны необходимые блоки. Создан скрипт js со связкой к объявлениям. Сложности: Сложности при создании скрипта js так как редактор PhpStorm ругается на сам скрипт видит его как ошибку подчеркивает переменные. |
|||||
90 | Расширенный поиск - дата публикации - виджет извне |
|
|||
На этом уроке мы установим в наш проект компонент jui от стороннего разработчика и создадим календарики для выбора дат Отчёт отправил: 25475. Жан Выполнено за 59 мин. [Показать отчёт] Научился: Вместе с учителем перешли по ссылке https://github.com/yiisoft/yii2-jui и установили через Composer в консоли секцию "yiisoft/yii2-jui": "~2.0.0" необходимые библиотеки, после чего в файле advsearch.php над заголовками цен прописали блок календарей с указанием даты времени и вывели на страницу сайта. Сложности: Когда прописывал в файле advsearch.php функцию rules на странице сайта передало ошибку о разных значениях date_pub_o. Нашел ошибку исправил. |
|||||
91 | Расширенный поиск - результаты выборки - частичное представление |
|
|||
На этом уроке мы рассмотрим возможность использования частичного представления в yii2-проекте и выведем в частичное представление карточку объявления
Отчёт отправил: 25475. Жан Выполнено за 1 час. 8 мин. [Показать отчёт] Научился: Вместе у учителем создали тестовое представление site/test.php и добавили в него текст уведомления. Перенесли блок карточек объявления из site/index.php в вновь созданный файл site/bulletin.php. В файле SiteController.php в функции advsearch произвели обращение к карточкам объявления. Затем протестировали по нажатию кнопки "выборка" на странице сайта появились сами объявления и реализовали разделитель с надписью "Результаты поиска" Сложности: В файле SiteController.php в функции advsearch производить обращение к карточкам объявления. |
|||||
92 | Расширенный поиск - генератор поиска - возвращение к SQL-запросу |
|
|||
На этом уроке мы создадим генератор отчета, используя работу ActiveRecord фреймворка yii2 c sql-запросами, и включим в него поиск по текстовым полям формы расширенного поиска Отчёт отправил: 25475. Жан Выполнено за 52 мин. [Показать отчёт] Научился: В действий actionAdvsearch произвели запрос к базе данным. Реализовали поиск по полям "заголовок" "информация" "город" "контакты" Сложности: При написании запроса в базу данных в запросе указал лишнюю кавычку из за этого выдало ошибку на страницу сайта |
|||||
93 | Расширенный поиск - генератор поиска - ограничивающие даты |
|
|||
На этом уроке мы добавим в генератор отчета расширенного поиска выборку по датам публикации Отчёт отправил: 25475. Жан Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Вместе с учителем в карточки объявления bulletin реализовали вывод дат публикации под объявлениями. Затем прописали обращение к базе данным и поиск по датам больше или меньше. Сложности: При поиске дат выпадающие меню закрывает обзор дат. Так же по поиску даты не выводится объявления опубликованное в той дате которую указываешь. Надо указывать на день больше. |
|||||
94 | Расширенный поиск - генератор поиска - три вида цены и один POST |
|
|||
На этом уроке мы реализуем различные варианты выборки объявлений по цене и добавим их в наш генератор расширенного поиска Отчёт отправил: 25475. Жан Выполнено за 53 мин. [Показать отчёт] Научился: Под руководством учителя реализовали настройку параметров по поиску цены больше или меньше. Добавили свойства цены price_more в файле advsearchForm.php. В функции actionAdvsearch прописали обращение к базам данным по поиску цены больше или меньше. Сложности: На данном этапе этого урока сложностей не возникло за исключением того что на странице при выставлении кнопки диапазона цен "больше" или "меньше" при нажатий кнопки "выборка" вылетает из той активной кнопки на которую нажимали ранее то есть "больше" или "меньше". |
|||||
95 | Обратная связь - свой сайт объявлений |
без видео |
|||
И снова обратная связь.Подумаем самостоятельно и ответим на вопросы: Отчёт отправил: 25475. Жан Выполнено за 15 мин. [Показать отчёт] Научился: Свой сайт объявлений назвал "Sauda.kz" так как в переводе с казахского языка это в Казахстане означает "Торговля". Доменное имя сайта аналогично такое же. Это как в пословице "Как ты яхту назовешь так она и поплывёт". На данном сайте пользователи будут публиковать объявления связанные с продажей либо покупкой. Так же я думаю что данный сайт будет поддержкой и рекламным инструментом для малого и среднего предпринимательства в регионе но и в целом на территории республики. Хочется чтобы данный сайт приобрел особую популярность в лучшем смысле этого слово. Сложности: Нарисовать эмблему и логотип своему сайту. Но выбранный мной логотип еще не является окончательным вариантом. |
|||||
96 | Расширенный поиск - генератор поиска - показать, что нужно |
|
|||
На этом уроке мы реализуем отображение той вкладки поиска по ценам, по которой производился поиск Отчёт отправил: 25475. Жан Выполнено за 1 час. 32 мин. [Показать отчёт] Научился: В файле AdvsearchForm.php. добавили переменные radio_ и pills_. В функции actionAdvsearch реализовали получение значении данных переменных через SiteController. В скрипте js в функции $('.priceselect').ready(function () прописали видимость полей диапазона цен. Сложности: После того как реализовали изменения все вроде бы работает корректно. Однако когда вводишь одно и тоже значение например если цифру "0" в поле формы в диапазон цен и ту же цифру ввести в поле больше или меньше то выдает ошибку "неизвестная база данных". Получается поле предыдущие запоминает введенную цифру и выдает ошибку кто поможет буду признателен |
|||||
97 | Работа с документацией Yii2 |
|
|||
На этом уроке переходим на один из официальных сайтов по Yii2 и, пользуясь помощью документации, реализовываем одну из своих идей Отчёт отправил: 25475. Жан Выполнено за 17 час. 1 мин. [Показать отчёт] Научился: Реализовал одну из своих идей на сайте в нижней части footera прописал блок ссылок поделится в социальных сетях с иконками в файле main.php заключив его в блок <div> а так же прописал дополнительную информацию о сайте. Для этого использовал официальную документацию YII2 раздел "виджеты". Так же на своем сайте в нижней части footer убрал из виду визуальный дебагер за комментировал один из массивов в файле config/web.php в функции if (YII_ENV_DEV). Сложности: Использовать саму официальную документацию YII2 так как многое не понятным осталось для меня. Написано не простым языком. Нужно все попробовать методом многочисленных проб и ошибок. |
|||||
98 | Пользователи и роли - планирование ролевой модели |
|
|||
На этом уроке мы составим ролевую модель пользователей нашего сайта
Отчёт отправил: 25475. Жан Выполнено за 21 мин. [Показать отчёт] Научился: На данном уроке вместе с учителем продумали и прописали в черновики блокнота роли пользователям которым будут доступные некоторые функции на нашем сайте такие как удаление снятие с публикации редактирование тем и категории. Сложности: На данном этапе урока сложностей не возникло |
|||||
99 | Пользователи и роли - фильтры контроля доступа ACF - теория и эксперименты |
|
|||
На этом уроке мы рассмотрим принципы работы фильтров контроля доступа ACF
Отчёт отправил: 25475. Жан Выполнено за 45 мин. [Показать отчёт] Научился: Вместе с учителем на данном уроке открыли в папке vendor/yiisoft/yii/filters/AccessControl.php файл которого является моделью контроля доступа для пользователя. В файле контроллера SiteController отработали с методом behaviors() в параметре для ключа only подставив значение "advsearch" тем самым закрыли доступ не зарегистрированному пользователю к поиску контента на сайте. Сложности: Сложностей не возникло однако надо быть очень острожным чтобы что нибудь не сломать на сайте. Благо что в редакторе есть откат назад но и он может не сработать. |
|||||
100 | Пользователи и роли - фильтры контроля доступа ACF - фильтруем всё |
|
|||
На этом уроке мы сами создадим метод behaviors() в BulletinsController и зададим нужные фильтры для действий контроллера
Отчёт отправил: 25475. Жан Выполнено за 1 час. 56 мин. [Показать отчёт] Научился: Вместе с учителем произвели рефакторинг всех действий в файле BulletinsController.php тем самым ограничили доступ к контенту не зарегистрированных пользователей Сложности: Возникли сложности при переходе по ссылкам в строке браузера. |
|||||
101 | Пользователи и роли - роли через RBAC - теория, установка и миграции |
|
|||
На этом уроке мы установим расширение RBAC, настроим подключение к RBAC и создадим базы для авторизации при помощи механизма миграции Отчёт отправил: 25475. Жан Выполнено за 44 мин. [Показать отчёт] Научился: Вместе с учителем установил расширение RBAC при помощи composer.json Затем в файлах в config/web.php и config/console.php в компонентах добавили 'authManager'. После чего при помощи миграции создали таблицы в базе данных это auth_assignment, auth_item, auth_item_child, auth_rule. Сложности: На данном этапе при прохождении урока сложностей не возникло |
|||||
102 | Пользователи и роли - роли через RBAC - тесты и практика |
|
|||
На этом уроке мы создадим тестовые роли и разрешения, а также проверим работу контроллера согласно разрешений Отчёт отправил: 25475. Жан Выполнено за 2 час. 43 мин. [Показать отчёт] Научился: Вместе с учителем создали действие actionAuthinit в нём реализовали присвоения ролей и привязки их к id в базе данных к таблицам auth_assigment. В таблице auth_item прописали название полей о присвоении ролей. Сложности: При наборе кода в определенных действиях по ошибке прописал не тот код сделал синтаксическую ошибку. После оглянувшись назад исправил ошибку. |
|||||
103 | Пользователи и роли - роли через RBAC - вносим действия в план |
|
|||
На этом уроке мы добавим действия к ролям в нашей актуальной ролевой модели
Отчёт отправил: 25475. Жан Выполнено за 32 мин. [Показать отчёт] Научился: Под руководством преподователя в черновике блокнота раннее созданного для ролей пользователям каждому из них прописали спектр действий на сайте и манипуляции Сложности: Сложностей на данном этапе урока не возникло |
|||||
104 | Пользователи и роли - роли через RBAC - реализация плана |
|
|||
На этом уроке мы создадим актуальные роли и действия для пользователей нашего сайта
Отчёт отправил: 25475. Жан Выполнено за 3 час. 36 мин. [Показать отчёт] Научился: Под руководством учителя очистили базу данных от таблиц тестовых ролей. В файле сайт контроллер SiteController в функции actionAuthinit добавили реальные роли со спектрами актуальных действии и прописали их в базу данных. По переходу по ссылке http://bull.local/site/authinit в строке вывели на страницу сайта надпись "Добавление ролей Выполнено". Сложности: По переходу по ссылке http://bull.local/site/authinit происходит соединение с базой данных и прописываются роли в самой БД. На сайте подключаемся к странице "Добавление ролей Выполнено". Но это почему то у меня происходит только один раз при повторном глобальном обновлений по F5 выдает ошибку. Может ли быть это из за того что это действие либо инициация разовая. Кто подскажет. |
|||||
105 | Пользователи и роли - ACF+RBAC - ограничим доступ к темам |
|
|||
На этом уроке мы реализуем ролевую модель для контроллера тем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 52 мин. [Показать отчёт] Научился: На этом уроке научились предоставлять роли определенным пользователям прописали метод behaviors в файле ThemesController присвоили одному из пользователей права на удаление редактировании тем. Сложности: Уроки были очень интересные так как уроки вёл для нас самый лучший преподаватель которого Я слушал и под его руководством выполнял сложнейшие задачи в Web программировании. Дай Аллах такому преподавателю здоровья и долгих лет жизни в его нелегком труде а именно преподавании для нас простых обывателей. Желаю огромных творческих успехов!!! Лайк и респект!!!! |
|||||
106 | Пользователи и роли - управление ролями и привилегиями - контроллер и таблица ролей |
|
|||
на этом уроке мы создадим контроллер и представление для управления ролями
Отчёт отправил: 25475. Жан Выполнено за 3 час. 43 мин. [Показать отчёт] Научился: Создан контроллер RolesController. php. В контроллере прописали функцию actionIndex и создали представление вывели все роли прописали кнопки управления. В панели навигации добавили кнопку "Управления ролями" Сложности: На данном этапе урока сложностей не возникло. Только допустил пару синтаксических ошибок при наборе блока <div> |
|||||
107 | Пользователи и роли - управление ролями и привилегиями - форма добавления роли |
|
|||
На этом уроке мы создадим действие добавления роли и форму добавления роли Отчёт отправил: 25475. Жан Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: В файле RolesController создали метод actionAddrole. Вновь в созданном файле addrole прописали формы и хэлперы. Создали кнопки. Прописали bootstrap. Сложности: Сложностей не возникло на данном этапе урока кроме одной редактор PhpStorm постоянно просит обновление. |
|||||
108 | Пользователи и роли - управление ролями и привилегиями - сохранение и удаление роли |
|
|||
На этом уроке мы реализуем сохранение роли, а также напишем алгоритм удаления роли
Отчёт отправил: 25475. Жан Выполнено за 1 час. 46 мин. [Показать отчёт] Научился: Создавать механизм добавления ролей в файле addrole и механизм удаления ролей в removerole Сложности: Возникли некоторые сложности при создания файла removerole не получилось скопировать с первого раза с файла addrole |
|||||
Итого: 108 видеоуроков |
23 час. 33 мин. 25 тестов |
3 чел. | |||
Финалисты: Жан, Николай Денисов, Tom . |