Обучение C#

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.
Open shop Доска объявлений

Доска объявлений

Создание Доски объявлений с использованием фреймворка YII2.

Автор: Жданов В.В.

Данный курс - практикум по созданию сайта с использованием фреймворка YII2.
Цель: создание небольшого сайта с нуля до "коробочного" варианта, готового к размещению на хостинге.
Теории здесь не много, больше практической работы по принципу: "произвел действие - получил результат".
Также по максимуму используем функционал фреймворка YII2.

Программируем - и кайфуем!



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE О проекте и про инструменты 00:08:31
26 чел. ★ 4.8 Done
  На этом уроке мы рассмотрим тематику разработки и настроим инструменты


Отчёт отправил: 25475. Жан Выполнено за 14 час. 34 мин. [Показать отчёт]
Научился: да очень понравился видео урок, познавательный. Научился устанавливать netbeans  
Сложности: нечего сложного все понятно  
2 FREE Создание проекта YII2 00:13:49
1 тест
22 чел. ★ 4.8 Done
  На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене


Отчёт отправил: 25475. Жан Выполнено за 2 дня 9 час. 11 мин. [Показать отчёт]
Научился: устанавливал фреймворк  YII2  через консоль командой установки  
Сложности: нечего сложного все понятно Иншаллах!!!!!!!!!!  
3 FREE Комфортная конфигурация 00:08:16
2 теста
21 чел. ★ 4.8 Done
  На этом уроке мы настроим удобные для человека ссылки и поменяем название сайта при помощи настроек config/web.php

Отчёт отправил: 25475. Жан Выполнено за 6 час. 14 мин. [Показать отчёт]
Научился: раскомментировал параметр urlManager в файле webphp. Сделал ЧПУ на шаблоне сайта   
Сложности: раскомментировать параметр urlManager в файле webphp  выдавало синтаксическую ошибку  
4 FREE Схема базы данных 00:14:25
21 чел. ★ 4.8 Done
  На этом уроке мы создадим схему базы данных для нашего проекта
Отчёт отправил: 25475. Жан Выполнено за 2 дня 4 час. 42 мин. [Показать отчёт]
Научился: научился определению сущности базы данных  
Сложности: нечего сложного все понятно Иншаллах!!!! 
5 FREE Подключение к базе данных пользователя и миграция пользователей 00:13:36
1 тест
21 чел. ★ 4.8 Done
  На этом уроке мы создадим базу данных, подключим ее к нашему проекту и создадим таблицу пользователей
при помощи механизма миграций
Отчёт отправил: 25475. Жан Выполнено за 34 мин. [Показать отчёт]
Научился: подключился к базе данных создал миграцию  
Сложности: получилось все хорошо иншаллах  
6 FREE Аутентификация - захешированный пользователь из БД 00:16:58
1 тест
20 чел. ★ 4.8 Done
  На этом уроке мы подкорректируем модель User  и реализуем аутентификацию на сайте через базу данных
Отчёт отправил: 25475. Жан Выполнено за 58 мин. [Показать отчёт]
Научился: генерировал файл UserRecord, установил шифрование для пользователя с функцией md5 
Сложности: все было понятно отлично Иншаллах!!!!!!!!!  
7 FREE Информация о пользователе 00:13:28
19 чел. ★ 4.8 Done
  На этом уроке создадим таблицу и модель Информация о пользователе
Отчёт отправил: 25475. Жан Выполнено за 1 день 21 час. 18 мин. [Показать отчёт]
Научился: создавать таблицу о пользователе  через MySQL менеджер 
Сложности: прописывать код в файле UserRecord.php 
8 FREE MVC - немного теории 00:12:09
1 тест
19 чел. ★ 4.8 Done
  На этом уроке мы рассмотрим теоретические основы работы MVC и создадим новый контроллер в нашем проекте
Отчёт отправил: 25475. Жан Выполнено за 2 час. 5 мин. [Показать отчёт]
Научился: создал файл UserController. phpv но не получается вывести надпись на главном экране шаблона "информация о пользователе" 
Сложности: не получается вывести надпись на главном экране шаблона "информация о пользователе" также создал файл index.php в папке views  
9 MVC - информация о пользователе 00:09:33
18 чел. ★ 5 Done
  На этом уроке мы получим данные о пользователе из базы в представление
Отчёт отправил: 25475. Жан Выполнено за 1 день 1 час. 45 мин. [Показать отчёт]
Научился: После создания файла UserController. php в папке Controller и файла  index.php в папке views отобразил данные о пользователе все работает  
Сложности: Отобразить данные о пользователе на странице сайта  
10 Пользователь - кто зарегистрирован сейчас? 00:09:22
1 тест
18 чел. ★ 4.9 Done
  На этом уроке мы получим информацию о текущем зарегистрированном пользователе, а также сделаем рефакторинг кода

Отчёт отправил: 25475. Жан Выполнено за 20 час. 4 мин. [Показать отчёт]
Научился: Выводить данные сессий через  файл UserRecord все работает  
Сложности: вывести данные сессии,  при запуске логина не выводится фамилия пользователя. А так все работает выводится  логин   
11 Новый пользователь - заготовка и меню 00:09:17
18 чел. ★ 5 Done
  На этом уроке мы создадим действие и представление для добавления пользователя,
а также добавим пункт меню "Регистрация"
Отчёт отправил: 25475. Жан Выполнено за 14 час. 39 мин. [Показать отчёт]
Научился: создавать представление через файл adduser 
Сложности: нечего сложного все понятно  
12 Новый пользователь - модель для формы 00:15:43
1 тест
18 чел. ★ 5 Done
  На этом уроке мы создадим модель параметров формы добавления пользователя
Отчёт отправил: 25475. Жан Выполнено за 1 час. 19 мин. [Показать отчёт]
Научился: прописывать код в модели Userform.php  
Сложности: все понятно нечего сложного  
13 Новый пользователь - дизайн формы начало 00:16:37
18 чел. ★ 5 Done
  На этом уроке мы зададим поля формы добавления пользователя
Отчёт отправил: 25475. Жан Выполнено за 1 час. 43 мин. [Показать отчёт]
Научился: Создавать хлебные крошки и применять bootstrap 
Сложности: Валерий Владимирович объясняете все доходчиво и понятно   
14 Новый пользователь - дизайн формы: поля и колонки 00:09:17
1 тест
18 чел. ★ 5 Done
  На этом уроке мы добавим все поля формы, кнопку сохранения, а также разместим поля в две колонки


Отчёт отправил: 25475. Жан Выполнено за 1 час. 0 мин. [Показать отчёт]
Научился: Добавлять поля формы и добавлять иконку сохранения  
Сложности: все понятно, очень  интересный урок  познавательный  
15 Новый пользователь - сохранение нового пользователя 00:20:06
1 тест
18 чел. ★ 5 Done
  На этом уроке мы напишем алгоритм сохранения записи о пользователе и информации о нем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 28 мин. [Показать отчёт]
Научился: Повторил за учителем прописал код в обработчике события actionAdd в файле UserControler.php 
Сложности: Нечего сложного прекрасное объяснение учителя.  
16 Красивая аутентификация на сайте 00:07:37
18 чел. ★ 5 Done
  На этом уроке мы поменяем дизайн формы входа на сайт
Отчёт отправил: 25475. Жан Выполнено за 31 мин. [Показать отчёт]
Научился: Менять на свое усмотрение поле формы в файле loginForm.php 
Сложности: все понятно и доходчиво объясняется остается лишь быть только внимательным   
17 Что доступно Юпитеру? 00:10:21
1 тест
18 чел. ★ 5 Done
  На этом занятии мы научимся управлять доступом к пунктам главного меню
Отчёт отправил: 25475. Жан Выполнено за 39 мин. [Показать отчёт]
Научился: В файле main.php переделал пункт меню Contact  
Сложности: пока за время обучения  нечего не сложного вроде  не было.     
18 Объявления - создание базы и модели 00:09:51
1 тест
18 чел. ★ 5 Done
  На этом уроке мы создадим таблицу bulletins при помощи миграций и сгенерируем для данной таблицы класс ActiveRecord
Отчёт отправил: 25475. Жан Выполнено за 50 мин. [Показать отчёт]
Научился: В миграционном файле create_buletins_table.php прописывать данные публикации самих объявлений   
Сложности: генерировать файл BulletinsRecord.php  
19 Объявления - контроллер, представление и много записей 00:13:46
1 тест
18 чел. ★ 5 Done
  На этом уроке мы создадим контроллер и представление для работы с объявлениями,
а также сделаем связь записей о пользователях и объявлениях типа "один-ко-многим"
Отчёт отправил: 25475. Жан Выполнено за 48 мин. [Показать отчёт]
Научился: Скрывать контент на сайте от посторонних пользователей  в файле  в Main.php 
Сложности: нечего сложного все понятно  
20 Объявление - функциональный дизайн страницы 00:14:17
17 чел. ★ 5 Done
  На этом уроке мы сделаем дизайн страницы наших объявлений, который поможет нам работать с объявлениями в дальнейшем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 25 мин. [Показать отчёт]
Научился: Заполнять содержимое контента применив функцию Bootstrap в файле index.php   
Сложности: нечего сложного  все понятно и доходчиво объясняет учитель   
21 Объявление - ограничение доступа 00:09:25
17 чел. ★ 5 Done
  На этом уроке мы ограничим доступ неавторизированного пользователя к странице управления объявлениями, а также решим некоторые технические вопросы
Отчёт отправил: 25475. Жан Выполнено за 42 мин. [Показать отчёт]
Научился: Добавил иконки редактировать, удалить, опубликовать в файле Index.php     
Сложности: Все хорошо боюсь даже сглазить но к урокам отношусь с трепетом и уважением!!!!  
22 Объявление - поля для пользовательских форм 00:09:44
17 чел. ★ 5 Done
  На этом уроке мы создадим класс BulletinsForm и определим, какие поля будут использоваться при создании объявления

Отчёт отправил: 25475. Жан Выполнено за 32 мин. [Показать отчёт]
Научился: Создавать данные об объявлениях  в файле BullettinsForm.php 
Сложности: все понятно и хорошо следуем наставлению учителя  
23 Объявление - форма добавления объявлений 00:17:03
1 тест
17 чел. ★ 5 Done
  На этом уроке мы создадим представление для добавления объявлений и действие контроллера, запускающего это представление

Отчёт отправил: 25475. Жан Выполнено за 19 час. 5 мин. [Показать отчёт]
Научился: В файле BulletinController.php прописал метод добавления объявления ActionAdd а также реализовать дизайн формы полей в файле add.php  
Сложности: все получилось хорошо  
24 Объявление - сохранение в черновик 00:10:39
17 чел. ★ 5 Done
  На этом уроке мы реализуем механизм сохранения нового объявления в черновик
Отчёт отправил: 25475. Жан Выполнено за 2 час. 10 мин. [Показать отчёт]
Научился: Добавлять записи в файле BulletinRecord 
Сложности: при добавлений объявлений выдает ошибку Class 'app\models\BulletinsRecord' not found 
25 Объявление - список 00:18:42
15 чел. ★ 5 Done
  На этом уроке мы реализуем вывод сохраненных в базе объявлений в список
Отчёт отправил: 25475. Жан Выполнено за 1 час. 21 мин. [Показать отчёт]
Научился: В файле  BulletinsController. php добавил методы удаления, публикаций объявления. В файле index.php кнопки добавления и публикаций.         
Сложности: нечего сложного все по делу объясняет учитель   
26 Объявление - всё на публику 00:12:16
1 тест
15 чел. ★ 5 Done
  На этом уроке мы сделаем наши объявления опубликованными
Отчёт отправил: 25475. Жан Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Добавлять механизм публикаций  объявлений  на сайте  в базу данных  
Сложности: прописывать сам механизм вывода объявлений через сайт в базу данных  
27 Объявление - публикация на главной странице 00:15:27
1 тест
15 чел. ★ 5 Done
  На этом уроке мы разместим наши опубликованные объявления на главной странице сайта
Отчёт отправил: 25475. Жан Выполнено за 2 час. 40 мин. [Показать отчёт]
Научился: Организовал отображение объявления пользователе на главном экране в файле Index.php  
Сложности: нечего сложного все внятно и понятно  
28 Объявление - скрыть нельзя удалить 00:12:40
14 чел. ★ 5 Done
  На этом уроке мы реализуем возможность помещать объявления в группу удаленных, восстанавливать их оттуда, а также отключать их просмотр

Отчёт отправил: 25475. Жан Выполнено за 1 час. 15 мин. [Показать отчёт]
Научился: Организовал вывод объявления на главную страницу, добавил функцию удаления, восстановления, отключения просмотра  в файле BulletinsController. php   
Сложности: нечего сложного, все понятно.  
29 Объявление - статусный рефакторинг 00:08:45
1 тест
14 чел. ★ 5 Done
  НА этом уроке мы сделаем рефакторинг методов работы со статусом объявлений
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт]
Научился: Производить рефакторинг  методом setStatus в файле BulletinController.php 
Сложности: Прописывать единый код методом setStatus 
30 Объявление - рефакторинг редактирования 00:12:58
14 чел. ★ 5 Done
  На этом уроке мы реализуем редактирование путем небольшого видоизменения функции добавления записи
Отчёт отправил: 25475. Жан Выполнено за 1 час. 26 мин. [Показать отчёт]
Научился: Рефакторинг функций редактирования и его сохранения в базу данных  в файле BulletinsController.php 
Сложности: прописывать код в файлах BulletinsController.php BulletinsForm.php 
31 Объявление: запрос - в функцию & кнопка для изображений 00:09:52
14 чел. ★ 5 Done
  На этом уроке мы сделаем рефакторинг метода index и добавим кнопки для перехода в режим работы с изображениями
Отчёт отправил: 25475. Жан Выполнено за 50 мин. [Показать отчёт]
Научился: Создавать кнопки "фото" во вкладке черновики на сайте  
Сложности: проводить рефакторинг в файле BulletinsController 
32 Изображения - микс из миграций 00:12:35
14 чел. ★ 5 Done
  На этом уроке мы через механизм миграций создадим таблицу photo и добавим поле для аватары в таблицу bulletins
Отчёт отправил: 25475. Жан Выполнено за 1 час. 13 мин. [Показать отчёт]
Научился: В базе данных создал таблицу photo с помощью миграции  
Сложности: создать таблицу в базе данных пользоваться функцией миграции  
33 Изображения - снова MVC 00:10:47
14 чел. ★ 5 Done
  На этом уроке мы создадим модель, контролер и представление для работы с фото
Отчёт отправил: 25475. Жан Выполнено за 30 мин. [Показать отчёт]
Научился: Подключать кнопку фото и вывод на  страницу сайта  
Сложности: подключать файлы BulletinsRecord.php  
34 Изображения - работа с моделью 00:17:16
14 чел. ★ 5 Done
  На этом уроке мы передадим модель нашего объявления в представление
Отчёт отправил: 25475. Жан Выполнено за 52 мин. [Показать отчёт]
Научился: прописал механизм добавления кнопки "Добавить  фото"  на странице пользователя  
Сложности: прописывать код в файле photo/Index. php  
35 Работаем над ошибками - YII2 в помощь 00:13:03
14 чел. ★ 5 Done
  На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
Отчёт отправил: 25475. Жан Выполнено за 5 час. 46 мин. [Показать отчёт]
Научился: Узнал из этого урока много нового  о дебаггере  web/index.php узнал что он включен и выводит ошибки. Например при допущенной  опечатке в команде public function setPublic в файле BulletinRecords.php при обновлений страницы сайта выдало ошибку  "Setting unknown property: app\models\BulletinsRecord::status_"  "не известное свойство"  с указанием  файла и линий ошибки с подсвечиванием строки  розового маркера  
Сложности: Сложно искать ошибки когда допускаешь опечатку в тексте. Иногда опечатку можно допустить в именование файла и указаний к ним пути. Даже бывали случае когда таблицу в базе данных  именовал не соответственно.       
36 Изображения - где живут картинки 00:15:34
1 тест
14 чел. ★ 5 Done
  На этом уроке мы создадим папку для изображений, разместим там изображение по умолчанию, а также создадим универсальные параметры пути и изображения по умолчанию
Отчёт отправил: 25475. Жан Выполнено за 59 мин. [Показать отчёт]
Научился: Добавлять заставку "нет изображения" на фото рамку на странице публикации объявления  
Сложности: прописывать код в файле site/index.php 
37 Изображения - модель формы 00:11:10
14 чел. ★ 5 Done
  На этом уроке мы создадим модель PhotoForm для работы с изображениями

Отчёт отправил: 25475. Жан Выполнено за 34 мин. [Показать отчёт]
Научился: Реализовал модель файла и прописал коды в нём PhotoForm.php  
Сложности: Организовать код в файле site/index.php   
38 Изображение - загрузочное представление 00:15:37
14 чел. ★ 5 Done
  На этом занятии мы создадим форму представления, через которое будет загружаться изображение

Отчёт отправил: 25475. Жан Выполнено за 41 мин. [Показать отчёт]
Научился: Прописывать подключение к моделям PhotoForm.php и к файлу  PhotoRecord.php   
Сложности: добавлять форму кнопок  в файле add.php 
39 Изображение - загрузка файла на сайт 00:17:29
1 тест
14 чел. ★ 5 Done
  На этом уроке мы реализуем алгоритм загрузки изображений на сайт
Отчёт отправил: 25475. Жан Выполнено за 1 час. 48 мин. [Показать отчёт]
Научился: Реализовал загрузку изображений  в папку images созданной в корневой папки web через созданный файл PhotoForm.php   
Сложности: Прописывать функцию  загрузки изображений через и параметров в файле PhotoController.php 
40 ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР без видео
11 чел. ★ 5 Done
  Мы уже многое сделали на нашем видеокурсе, и автору очень важно
узнать Ваше мнение о данном курсе и получить обратную связь
в форме видео-презентации и ответов на вопросы.

Сделай видео-презентацию своего сайта.
Отчёт отправил: 25475. Жан Выполнено за 1 час. 5 мин. [Показать отчёт]
Научился: Прописывать функций авторизации пользователей, создавать функцию добавления объявления, редактирования, удаления объявления  отображения заставки "нет изображения"  в вкладке  фото объявлений. Так же научился создавать механизм загрузки изображений. Освоил механизм и функцию миграции на фреймворке YII2  с помощью которых  прописываются функции работы с моделями и контроллерами.       
Сложности: Прописывать разные функций в моделях и контроллерах создавать миграции так как одна опечатка может создать неверную миграцию либо совсем не создать миграцию.   
Видеообзор: YXnOjLv6sTw
41 Изображение - сохранение пути в базу 00:14:17
11 чел. ★ 5 Done
  На этом уроке мы реализуем сохранение пути к файлу изображений в базу данных
Отчёт отправил: 25475. Жан Выполнено за 1 час. 54 мин. [Показать отчёт]
Научился: Реализовывать механизм сохранения изображений в базу данных через представления photo/index.php и /photo/add.php 
Сложности: Самое сложное выводить и сохранять  изображения в базу данных  при каждом сохранении изображений в базу данных в таблице "Photo" значение  ID=разные числа и значение  BULL_ID=5 всегда это нормально? Кто подскажет???? А так все работает и загрузка происходит.   
42 Изображение - управление картинками 00:08:36
11 чел. ★ 5 Done
  На этом уроке мы займемся дизайном - создадим выпадающее меню управления изображением
Отчёт отправил: 25475. Жан Выполнено за 28 мин. [Показать отчёт]
Научился: Реализовал в файле photo/index.php с помощью bootstrap кнопку  управление фото и его контекстное меню.   
Сложности: Использовать bootstrap в файле  так как много функций и решений и желаемое порой не получается  
43 Изображение - JS - немного теории и пижонства 00:16:29
1 тест
11 чел. ★ 4.7 Done
  На этом уроке мы рассмотрим работу JS на yii2
Отчёт отправил: 25475. Жан Выполнено за 48 мин. [Показать отчёт]
Научился: Создавать скрытые функций  на странице с помощью скрипта написанного на языке JS 
Сложности: Прописывать код на языке JS  так как ранее данным языком не пользовался  
44 Изображение - JS - глобализация 00:26:49
11 чел. ★ 5 Done
  На этом уроке мы перенесем все скрипты JS в отдельный файл, а также реализуем открытие и скрытие элементов ввода информации

Отчёт отправил: 25475. Жан Выполнено за 1 час. 19 мин. [Показать отчёт]
Научился: Разрабатывать собрание скриптов в файле main.js и прописывать функцию скрытия полей и контекстного меню под фото   
Сложности: Прописывать функцию в файле photo/index.php  и пути к этим функциям   
45 Изображение - JS - сохранение информации в базу 00:22:42
1 тест
11 чел. ★ 5 Done
  На этом уроке мы научим нашу систему сохранять информацию об изображениях в базу
с использованием технологии ajax


Отчёт отправил: 25475. Жан Выполнено за 3 час. 26 мин. [Показать отчёт]
Научился: Прописывать метод сохранения в базу данных в файле PhotoController.php а так же использовать скрипт  JS 
Сложности: Не получалось обновить страницу после внесенных изменений в базу данных и изменения в контекстное меню "информация фото"  
46 Изображение - JS - извлечение методом ajax 00:09:51
11 чел. ★ 5 Done
  На этом уроке мы научим ajax получать информацию об изображениях из базы
Отчёт отправил: 25475. Жан Выполнено за 50 мин. [Показать отчёт]
Научился: Прописывать метод получения информации из базы данных с помощью функции Get в файле PhotoController.php. Прописывать функцию авто обновления страницы и информации из базы данных.   
Сложности: При повторном сохранении информации об изображений  на последующей картинке информация обновляется не сразу а после того как принудительно обновишь страницу. Хочу поделиться мыслью может быть функцию обновления    location.reload(); указать для всех фото photo_id  по умолчанию для получения и добавления информации, но это мысль не судите строго и не ругайте.     
47 Изображение - аватарка - вывод на главной странице 00:15:26
11 чел. ★ 5 Done
  На этом уроке мы реализуем вывод главных изображений каждого объявления
(далее - аватарки) на главной странице
Отчёт отправил: 25475. Жан Выполнено за 3 час. 33 мин. [Показать отчёт]
Научился: Создавать функцию  получения аватарки GetAvatar и добавления аватарки  на рамку изображения  в объявлений  
Сложности: прописывать функцию получения аватарки в  файле site/index.php 
48 Изображение - аватарка - работа над ошибками связей 00:09:33
11 чел. ★ 5 Done
  На данном уроке мы исправим ошибки вывода фотографий, очистим базу и заново загрузим в нашу базу
фотографии в одно из объявлений
Отчёт отправил: 25475. Жан Выполнено за 47 мин. [Показать отчёт]
Научился: Исправлена ошибка в  PhotoController.php скопирован код по отношению к id к каждому объявлению и размещен в каждом действие  
Сложности: удалять фотографий из базы данных так при каждом добавлений фотографий из за обновления браузера не отображалась информация о таблице  
49 Изображение - аватарка - как стать главной 00:18:13
11 чел. ★ 5 Done
  На этом уроке мы создадим код, делающий любое фото главным
Отчёт отправил: 25475. Жан Выполнено за 21 мин. [Показать отчёт]
Научился: В файле main.js прописана функция присвоения изображения аватарки главной на странице объявления  так же прописана функция SetAvatar в действии в файле PhotoController.php   
Сложности: Сложности возникли после присвоения функции в файле photo/index.php необходимо несколько раз обновлять страницу сайта  чтобы изменения вступили в силу.  
50 Изображение - удаление - ни шагу без подтверждения! 00:09:13
11 чел. ★ 5 Done
  На этом уроке мы реализуем всплывающее окно подтверждения действия
и протестируем результаты выбора различных вариантов
Отчёт отправил: 25475. Жан Выполнено за 28 мин. [Показать отчёт]
Научился: Прописана кнопка "удалить фото" и его  подтверждения об удалении в файле main.js  а так же присвоена кнопки "удалить фото"  photo_id 
Сложности: После прописывания функций, некоторые изменения не вступят в силу если не обновить страницу по раскладке клавиатуры Ctrl+f5 
51 Изображение - удаление - удаление файла и записи 00:15:49
11 чел. ★ 5 Done
  На этом уроке мы реализуем удаление файлов изображений и записей о них из базы данных
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт]
Научился: Активировать метод удаления изображения setdelete в файле main.js  так же из базы данных удалять фотографию функцией isAjax в файле PhotoController.php  
Сложности: Прописывать метод удаления из базы данных  в файле main.js а также необходимость обновления страницы.   
52 Главная страница - подробности - ссылки и заготовка представлени 00:09:05
11 чел. ★ 5 Done
  На этом уроке мы создадим ссылки для объявлений на главной странице и заготовку представления для подробного вывода
информации объявления
Отчёт отправил: 25475. Жан Выполнено за 38 мин. [Показать отчёт]
Научился: Реализована ссылка на страницу объявления в файле site/index.php создан файл site/viewbulletin.php  
Сложности: Прописывать функцию то есть действие  actionViewBulletin  в файле SiteController.php  
53 Главная страница - подробности - больше подробностей 00:11:37
11 чел. ★ 5 Done
  На этом уроке мы выведем максимум информации на страницу подробностей объявления
Отчёт отправил: 25475. Жан Выполнено за 37 мин. [Показать отчёт]
Научился: Выводить подробную информацию об объявлений на странице сайта путем прописывания в файле site/viewbulletein.php  
Сложности: Прописать код в файле site/viewbulletein.php так как несколько раз допускал ошибки в коде из за этого не выводилось информация на страницу   
54 Главная страница - подробности - расширяя информацию 00:15:15
1 тест
11 чел. ★ 5 Done
  На этом уроке мы внесем в наш код изменения, которые позволят сохранять объявления с большим количеством информации

Отчёт отправил: 25475. Жан Выполнено за 1 час. 14 мин. [Показать отчёт]
Научился: Создавать миграционный файл alter_info_column_to_bulettins_table продлевать колонку информации в базе данных с помощью данного файла. Размещать многозначные объявления.     
Сложности: При реализации функции форматирования nl2br допустил ошибку  из за этого возникла ошибка на странице экрана. Нашел ошибку, исправил.   
55 Главная страница - оформление - дизайн объявления 00:10:02
11 чел. ★ 5 Done
  На этом уроке мы зададим стиль дизайна объявления
Отчёт отправил: 25475. Жан Выполнено за 43 мин. [Показать отчёт]
Научился: Оформлять вывод объявления и информацию, размещение  на странице сайта через файл site/viewbulletin.php 
Сложности: Сложно оформлять страницу когда не знаешь все трюки функций  bootstrap 
56 Главная страница - оформление - дизайн элементов базовой страницы 00:11:44
1 тест
11 чел. ★ 5 Done
  На этом уроке мы выведем информацию о себе в элементе footer и сделаем главное меню стильным и красивым
Отчёт отправил: 25475. Жан Выполнено за 1 час. 3 мин. [Показать отчёт]
Научился: В файле  layouts/main.php через css заменил цветовую схему в navbar,  в  footer  поменял информацию о сайте убрал настройки по умолчанию которые  шли при установке YII2. А  интересно можно ли сделать  в  footer ссылки на социальные сети  с иконками.   
Сложности: Сложное в файле css выбирать цветовую схему так как при обновлений не знаешь как будет выглядит страница.   
57 Главная страница - оформление - ловим цвет пикселя 00:06:00
11 чел. ★ 5 Done
  На этом уроке мы рассмотрим использование инструментов определения цвета пикселя (Пипетка)

Отчёт отправил: 25475. Жан Выполнено за 42 мин. [Показать отчёт]
Научился: Задавать скопированный цвет с помощью браузерной пипетки MozilaFirefox очень удобный инструмент  
Сложности: При использовании браузерной пипетки MozilaFirefox  есть один большой минус пипетку нельзя использовать вне браузера, а  так  очень удобная вещь 
58 Главная страница - оформление - смотрим все изображения 00:15:27
11 чел. ★ 5 Done
  На этом уроке мы реализуем просмотр всех изображений объявления "не хуже, чем на Avito"
Отчёт отправил: 25475. Жан Выполнено за 1 час. 2 мин. [Показать отчёт]
Научился: Прописан блок <div> в файле ViewBulletin.php реализована функция наведения на мелкое изображение и вывод его на просмотр а так же создан файл  bull.js  не посредственно отвечающий за данную функцию     
Сложности: После реализации функции наведения на мелкое изображение и вывод  просмотра изображения получилось так что изображения ведь могут быть не одного размера и при просмотре изображение то есть край рамок  перекрывает информацию и публикацию объявления. Знаю что можно прописать код в файле web/css и установить ограничивающую рамку, кто подскажет буду признателен.     
59 Главная страница - оформление - стильный логотип 00:09:56
11 чел. ★ 5 Done
  На этом уроке мы реализуем вывод логотипа в иконку проекта и в пункт меню перехода на главную страницу
Отчёт отправил: 25475. Жан Выполнено за 1 час. 25 мин. [Показать отчёт]
Научился: Устанавливать логотип в корневой папке web/ favicon.ico устанавливать на заголовок главной  страницы сайта  
Сложности: При установке логотипа  на странице объявления в заголовке "Доска объявления" при переходе в страницу мои  объявления  не отображается логотип  
60 Главная страница - оформление - оповещения через баннер 00:11:19
10 чел. ★ 5 Done
  На этом уроке мы создадим баннер для оповещений, новостей
Отчёт отправил: 25475. Жан Выполнено за 48 мин. [Показать отчёт]
Научился: Реализовал функцию выставления баннера на странице пользователя и отсутствие при выходе из учетной записи. Функция реализована в файле layouts/main.php. Данную функцию можно использовать в качестве оповещения о просмотре объявления автора либо если кто то написал сообщение на объявления либо если кто то добавил в избранные объявления. Так же данную функцию можно использовать в качестве рекламного баннера либо выставлять товар недели или оповещать о снижении цен на интересующий товар.         
Сложности: Прописывать функцию появления баннера в файле layouts/main.php. Устанавливать баннер над хлебными крошками  breadcrumbs  
61 Разделы (темы) - немного теории 00:11:07
10 чел. ★ 5 Done
  На этом уроке мы рассмотрим вопрос тематик объявлений на нашем сайте, а также составим план (структуру) таблицы тем Themes и связующей таблицы ThemesBulletins
Отчёт отправил: 25475. Жан Выполнено за 51 мин. [Показать отчёт]
Научился: Рассматривать структуру тематик объявления. Если есть тема объявления то данное объявление пользователю можно разместить  в нескольких под разделах. Например если продается автомобильная запасная часть  разместить можно как в дочерней рубрике автозапчасти так и в  под рубрике  например "тюнинг"  либо "автоуслуги" либо вообще рубрика СТО.     
Сложности: Нечего сложного все понятно. Таблицу с темами и под темами  с рубриками и разделами  под разделами можно составлять сколь угодно много   
62 Разделы (темы) - миграции с внешними ключами 00:18:49
10 чел. ★ 5 Done
  На этом уроке мы создадим миграции таблиц themes и themesbulletins, сами эти таблицы и их модели ActiveRecord с внешними связями
Отчёт отправил: 25475. Жан Выполнено за 4 час. 51 мин. [Показать отчёт]
Научился: На уроке через консоль OpenServer путем миграции создал два файла create_themes_table а также  create_themesbulletin_ table. После этого через генератор gii создал две модели файла  ThemesRecord.php и ThemesBulletinRecord.php  со связью базы данных         
Сложности: Нечего сложного. При использований консоли то есть при созданий миграции  допустил  несколько синтаксических ошибок из за этого миграционный файл не создал должным образом таблицы   
63 Обратная связь - мозговой штурм - внештатные ситуации 00:09:19
9 чел. ★ 5 Done
  В данном уроке попрошу Вас выполнить небольшую самостоятельную работу и дать обратную связь.

Отчёт отправил: 25475. Жан Выполнено за 37 мин. [Показать отчёт]
Научился: Переименовал таблицу bulettins в базе данных bulletinsdb  и получил ошибку при повторном входе на страницу сайта тип ошибки  Database Exception. Заново переименовал таблицу. Страница восстановлена. При добавлении объявлений вбил код <?php ?>  и заключил текст объявлений <div> </div> блок нечего страшного не произошло объявление сохранилось.  При просмотре изображений в объявлений, фотографий  разного размера перехлестывается с информацией об объявлений то есть краем рамки перекрывают дату публикации и информации. Еще бы хотелось бы реализовать на сайте окончательное удаление объявление чтобы не грузить объемом память базы данных и папку сохранения изображения на сайте. После того как добавил фотографию, при добавлений  информации о фотографий хотелось бы реализовать функцию  чтобы текст прописывался  по нажатию кнопки "Enter".     
Сложности: Когда переименовал таблицу в базе данных при входе на страницу сайта не мог понять в чем дело. Выдавало ошибку на странице. Благо того что сохранил копию базы данных.  Заново импортировал файл базы данных. Также возникла трудность когда хотел заменить логотип в заголовке надписи. Выдавало  предупреждение в меню редактора PhPstorm с надписью что логотип используется в файле.           
64 Разделы (темы) - вывод тем в объявлении 00:16:29
9 чел. ★ 5 Done
  На этом уроке мы реализуем вывод тем на странице объявления
Отчёт отправил: 25475. Жан Выполнено за 1 час. 16 мин. [Показать отчёт]
Научился: Добавлять записи и темы разделы в таблицы базы данных. Осуществлять связь тем и разделов с объявлениями на странице  сайта. Выводить название тем и разделов в объявлениях. В файле  ViewBulletin.php прописан блок <?php foreach ?>   
Сложности: Когда осуществлял связь с таблицей базы данных. При входе на страницу выдало ошибку о том что не может найти файл themesbulletin. После нашел в чем причина исправил ошибку в слове пропустил одну букву.     
65 Разделы (темы) - меню тематик 00:10:55
8 чел. ★ 5 Done
  На этом уроке мы реализуем вывод ссылок на темы на главной странице и подсчет объявлений в каждой теме
Отчёт отправил: 25475. Жан Выполнено за 59 мин. [Показать отчёт]
Научился: Выводить список тем на главную страницу сайта. Выводить их подсчет количество объявлений  в файле ThemesRecord.php с помощью функции count то есть подсчет  
Сложности: В базе данных  выводить темы и дочерние под категории объявления  
66 Разделы (темы) - тематические выборки 00:15:13
8 чел. ★ 5 Done
  На этом уроке мы реализуем выбор объявлений по темам и вывод их на основную страницу
Отчёт отправил: 25475. Жан Выполнено за 57 мин. [Показать отчёт]
Научился: Реализовал функционал сортировки объявление по темам изменил параметр href в файле site/index.php. Следуя указанию учителя прописал функцию  getBullCurrTheme в файле ThemesRecord.php 
Сложности: Нечего сложного все получилось хорошо. Проверил вывод объявления по темам и на главной странице. Пока всё хорошо работает.     
67 Разделы (темы) - полезные переходы 00:11:48
7 чел. ★ 5 Done
  На этом уроке мы реализуем возвращение со страницы объявлений на предыдущую страницу, а также переходы по темам объявления по типу хештегов
Отчёт отправил: 25475. Жан Выполнено за 40 мин. [Показать отчёт]
Научился: Вместе с учителем решили задачу возврата на предыдущую страницу  в каждом объявления используя функцию  $prev_url в файле viewbulletin.php а так же обозначились хэштеги с кнопками  в темах под объявлением в каждом объявление что возвращает пользователя  в общую тему и раздел   
Сложности: Нечего сложного нет если следовать указаниям учителя. Пока все работает хорошо без сбоев в проекте   
68 Разделы (темы) - администрирование - теория и заготовки 00:09:03
7 чел. ★ 5 Done
  На этом уроке мы создадим контроллер для администрирования разделов (тем) и представление index
Отчёт отправил: 25475. Жан Выполнено за 51 мин. [Показать отчёт]
Научился: В меню навигации создано кнопка "справочник тем"  в файле main.php. Создан контроллер  ThemesController.php для вывода на страницу  "администрирование тем". Создан файл index.php в папке themes  
Сложности: После создания файла ThemesController.php не работал вывод на страницу экрана так как забыли прописать  use yii\web\Controller; 
69 Разделы (темы) - администрирование - все темы в таблицу 00:10:55
7 чел. ★ 5 Done
  На этом уроке мы выведем существующие темы в таблицу и зададим им элементы управления
Отчёт отправил: 25475. Жан Выполнено за 1 час. 17 мин. [Показать отчёт]
Научился: Реализовали и оформили страницу кнопки "справочник тем". На странице  добавили кнопки "Тема",  "Управление" а также вывели связь с уже существующими темами на  сайте то есть разделы. Выше перечисленное мы сделали в файле  themes/index.php 
Сложности: Нечего сложного не было. Единственное когда прописывал блоки оформления страницы в файле themes/index.php кнопкам задал не те параметры. Нашел ошибки исправил. Обратил внимание во время.  Кто подскажет надписи самих тем и разделов хотел бы сделать чуть-чуть жирнее на странице  в справочнике тем.   
70 Разделы (темы) - администрирование - подтверждение удаления 00:15:58
7 чел. ★ 5 Done
  На этом уроке мы реализуем алгоритм подтверждения удаления и создадим соответствующее представление
Отчёт отправил: 25475. Жан Выполнено за 1 час. 7 мин. [Показать отчёт]
Научился: Создан механизм удаления и его отмены  в справочнике тем по кнопке  "удалить".  Реализована функция  actionDeletequery. Проверена на корректность работа способности. Был создан файл deletequery.php в папке themes   
Сложности: При оформлении и созданий кнопок удаления/отмены  объявления несколько раз ошибся поставив блоки не туда куда надо. Найденные ошибки исправил.       
71 Разделы (темы) - администрирование - удаление разделов и чистка связей 00:09:07
7 чел. ★ 5 Done
  На этом уроке мы окончательно удалим раздел, а перед этим удалим все его связи с объявлениями
Отчёт отправил: 25475. Жан Выполнено за 47 мин. [Показать отчёт]
Научился: Организовали на странице сайта удаление тем и связей через такую  функцию как "setDeleteThemesBullRecord" в файле ThemesController.php  
Сложности: Нечего сложного. При работе с базой данных заметил что если добавляешь в базе данных тему  и связь к ней с объявлением, то на странице сайта в разделах и темах дублируется одно и тоже объявления и под объявлениями дублируются хэштеги которые мы сделали на прошлых уроках. Кто подскажет почему дублируются хэштеги и сами объявления. Буду признателен. Это ошибка???     
72 Разделы (темы) - администрирование - Обычный ThemesForm 00:10:23
7 чел. ★ 5 Done
  На этом уроке мы создадим модель ThemesForm, заготовку действия Add в контроллере Themes и представление под него
Отчёт отправил: 25475. Жан Выполнено за 39 мин. [Показать отчёт]
Научился: Создана заготовка в виде файла add.php. Прописана функция  public function actionAdd в файле ThemesController.php. Создан файл ThemesForm.php  в данном файле заданы необходимые атрибуты  public function attributeLabels 
Сложности: Нечего сложного все хорошо прописано и отработано. Убраны скобки в файле main.php.  в  navbar. Теперь меню навигации отображается одинаково     
73 Разделы (темы) - исправление подсчета и отображение текущей темы 00:08:28
7 чел. ★ 5 Done
  Hа этом уроке мы исправим ошибку подсчета, обнаруженную в процессе прохождения курса,
а также отобразим текущую тему, по которой выборка объявлений, в баннере


Отчёт отправил: 25475. Жан Выполнено за 43 мин. [Показать отчёт]
Научился: Исправлять ошибку подсчета то есть функцию return count($this->getBullCurrTheme()); Прописывать баннер в файле SiteController.php. выводить сам баннер на страницах  объявления по темам и  на главной странице.   
Сложности: При написании класса  Yii::$app->session->setFlash и реализации самого баннера забыл вбить  "session" и получилась ошибка по невнимательности отвлекся. Но нашел  исправил ошибку.     
74 Разделы (темы) - администрирование - "темное" представление 00:11:49
7 чел. ★ 5 Done
  На этом уроке мы создадим поля для редактирования или добавления темы в представлении themes\add
Отчёт отправил: 25475. Жан Выполнено за 51 мин. [Показать отчёт]
Научился: В файле add.php  созданы yii\helpers\Html; Реализованы и оформлены поля добавления информации также  реализованы кнопки "сохранить" и "отмена". На кнопку "отмена"  применен prev_url что дает нам возврат на страницу  добавления темы.   
Сложности: Когда оформляешь поля формы добавления информации  и  кнопки  разного функционала незнание Bootstrapa дает о себе знать.   
75 Разделы (темы) - администрирование - волшебный выпадающий список 00:09:17
1 тест
7 чел. ★ 5 Done
  На этом уроке мы создадим выпадающий список выбора родительской темы
Отчёт отправил: 25475. Жан Выполнено за 31 мин. [Показать отчёт]
Научился: Реализован выпадающий список dropDownList в файле add.php. Для реализации данной задачи добавлены хэлпер  yii\helpers\ArrayHelper; 
Сложности: Нечего не было сложным. Очень долго обновляется  страница  по раскладке клавиатуры Ctrl+F5 но это вопрос касательно  моего железа и браузера.   
76 Разделы (темы) - администрирование - сохранение темы 00:19:30
7 чел. ★ 5 Done
  На этом уроке мы реализуем сохранение добавляемых и редактируемых тем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 31 мин. [Показать отчёт]
Научился: В  файле ThemesController.php создано действие actionAdd. В  файле ThemesRecord.php создана функция  setNewRecord($form) так же в файле ThemesForm.php реализована функция setNewForm($record).  Все вышеперечисленное протестировано на редактирование,  сохранение и удаление записей тем в базу данных и вывода на страницу сайта во вкладке "справочники тем".   
Сложности: При входе в базу данных phpMyAdmin через браузер Mozila Firefox очень медленно запускается.  Кто знает в чем причина и можно ли поменять сам браузер в ospanel.   
77 Разделы (темы) - администрирование - рефакторинг и валидация 00:07:02
7 чел. ★ 5 Done
  На этом уроке мы сделаем рефакторинг нашего представления add и валидацию данных формы ThemesForm
Отчёт отправил: 25475. Жан Выполнено за 32 мин. [Показать отчёт]
Научился: В файле add.php произведен рефакторинг  и задана функция  parent_themes_find. В файле ThemesForm.php в функцию rules добавлена поле title со значением "Поле не должно быть пустым" 
Сложности: При назначении поле  title со значением "Поле не должно быть пустым" в функции  rules  ошибся с назначением. Нашел ошибку  и исправил.  
78 Связи объявлений и тем - заготовка 00:12:50
7 чел. ★ 5 Done
  На этом уроке мы создадим действие в контроллере BulletinsController и представление,
которые помогут нам работать со связями объявлений и тем
Отчёт отправил: 25475. Жан Выполнено за 58 мин. [Показать отчёт]
Научился: Реализована  заготовка  кнопки и вкладки  удаления тем в вновь созданном файле addtheme.php и вывода на страницу сайта.  Прописана функция  actionAddtheme в файле BulletinsController.php. 
Сложности: При выводе на страницу сайта  вкладке удаления тем выдало ошибку. Нашел исправил ошибку. Ошибка заключалась  в коде  <?php foreach. пропустил  одну букву   
79 Связи объявлений и тем - добавление новой темы 00:22:38
7 чел. ★ 5 Done
  На этом уроке мы научим нашу систему добавлять новую тему в объявление (делать связь темы и объявления)
Отчёт отправил: 25475. Жан Выполнено за 1 час. 25 мин. [Показать отчёт]
Научился: На данном уроке реализовали создали файл ThemesbulletinsForm.php добавили в него необходимые атрибуты  attributeLabels. В файле прописали хэлперы осуществили выпадающий список с помощью getListThemes 
Сложности: При выводе сохранения тем  в файле  ThemesbulletinsRecord.php указало что  не назначили класс. Нашли ошибку вместе с учителем и исправили.   
80 Связи объявлений и тем - темы, которых не было 00:11:33
1 тест
7 чел. ★ 5 Done
  На этом уроке мы научим нашу систему выводить в список добавляемых в объявление тем только те, которые не прикреплены к нашему объявлению
Отчёт отправил: 25475. Жан Выполнено за 53 мин. [Показать отчёт]
Научился: Реализована сортировка связки тем с объявлениями при помощи select в файле ThemesbulletinsForm.php. Сделана выборка тем  которых нет в выбранном списке   
Сложности: Все понятно нечего сложного не было. Только то что надо обязательно обновлять глобально по раскладке клавиатуры   
81 Связи объявлений и тем - темы, которых не будет 00:10:57
7 чел. ★ 5 Done
  На этом уроке мы научим нашу систему удалять из объявлений темы, к которым наше объявление привязывать не надо
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт]
Научился: В файле  addtheme.php  дополнен  параметр ссылок href. В файле  BulletinsController.php  в функции  actionDeletetheme  реализован необходимый функционал для удаления  связок ID тем  с редактируемым объявлением.     
Сложности: При тестировании функции удаления ID тем и связок с объявлением, после удаления нечего не произошло. Но все таки надо даже нужно обновлять браузер для глобальных изменений через Ctrl+F5  
82 Глобальный поиск - поле поиска в меню 00:17:09
7 чел. ★ 5 Done
  На этом уроке мы добавим поле поиска в навигационное меню сайта, а также решим вопрос с активными пунктами меню.
Отчёт отправил: 25475. Жан Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: В пункте навигационного меню  выделена цветом  активная страница, в файле main.php  реализована заготовка  окно поиска по сайту в навигационном меню.   
Сложности: Работать в браузере  во окне веб мастера по которой  перешли по раскладке F12 так как  окна настроек загромождают друг друга.   
83 Глобальный поиск - ищем глобально 00:17:08
7 чел. ★ 5 Done
  На этом уроке мы создадим алгоритм поиска по вводимому в поле search контенту
Отчёт отправил: 25475. Жан Выполнено за 54 мин. [Показать отчёт]
Научился: В файле SiteController.php создано действие actionSearch в данном действии прописаны методы поиска по тексту объявления по городу и по названию объявления. В методах поиска была имитирована синтаксическая  ошибка что и вывелось на страницу сайта.       
Сложности: Прописывать методы поиска в  SiteController.php 
84 Расширенный поиск - группировка пунктов главного меню 00:12:47
7 чел. ★ 5 Done
  На этом уроке мы сгруппируем пункты главного меню в подразделы,
и сделаем в нем ссылку на страницу расширенного поиска
Отчёт отправил: 25475. Жан Выполнено за 1 час. 12 мин. [Показать отчёт]
Научился: Сгруппировал пункты меню в общий раздел  "Администрирование". Реализована заготовка пункта меню "Расширенное меню".  
Сложности: При группировании пунктов меню  раздел  "Администрирование". кнопки  'мои объявления' а так же "справочник тем" и "расширенный поиск"  не проявляются активным образом не отображаются  стили и цвета шрифтов  которые применяли ранее  для общего  меню навигации. Хотел изменит по F12  открыв окно вебмастера  не получилось оформить. Кто подскажет буду признателен.     
85 Расширенный поиск - заготовки и план 00:10:03
7 чел. ★ 5 Done
  На этом уроке мы набросаем план будущей страницы расширенного поиска,
а также создадим действие контроллера и заготовку представления расширенного поиска
Отчёт отправил: 25475. Жан Выполнено за 42 мин. [Показать отчёт]
Научился: В файле SiteController.php создано действие  actionAdvsearch и сделан вывод представления в вновь созданном файле site/advsearch.php. Реализована заготовка плана  поиска  в блокнот   
Сложности: При реализации функции actionAdvsearch в файле SiteController.php  не получилось вывести представление в файле site/advsearch.php.  так как допустил ошибку в слове search  указал с заглавной буквой "S". Нашел ошибку,  исправил.   
86 Расширенный поиск - стили и форма 00:10:11
7 чел. ★ 5 Done
  На этом уроке мы внесем исправления в стили субменю и сделаем модель формы расширенного поиска
Отчёт отправил: 25475. Жан Выполнено за 35 мин. [Показать отчёт]
Научился: Реализовали изменения в файле оформления и дизайна  навигационного меню. Реализована заготовка для поиска по критериям в вновь созданном файле  AdvsearchForm.php  
Сложности: Сложностей на данном этапе урока не возникло.   
87 Расширенный поиск - дизайн текстовых полей и кнопки 00:16:02
7 чел. ★ 5 Done
  На этом уроке мы прокачаем навыки дизайна текстовых полей, создания активной формы в представлении,
а также создания кнопки через хелперы yii2
Отчёт отправил: 25475. Жан Выполнено за 45 мин. [Показать отчёт]
Научился: Реализована заготовка полей и форм для расширенного поиска по сайту в файле advsearch.php. Применены специальные хэлперы yii\helpers\Html; 
Сложности: При оформлении дизайна полей  и применения bootstrap 
88 Расширенный поиск - цена - выбор варианта 00:10:45
7 чел. ★ 5 Done
  На этом уроке мы создадим систему управления выбором варианта поиска по цене
Отчёт отправил: 25475. Жан Выполнено за 40 мин. [Показать отчёт]
Научился: Реализована заготовка дизайна  параметров  цены в файле advsearch.php так же создан скрипт js  для заготовки кнопок и их активности в файле main.js   
Сложности: Сложности возникли при реализации скрипта js перепутал кавычки вместо одинарных поставил двойные.  
89 Расширенный поиск - цена - невидимые поля 00:18:17
7 чел. ★ 5 Done
  На этом уроке мы создадим невидимые блоки с полями поиска цены, которые становятся видимыми при нажатии определенного пункта навигатора
Отчёт отправил: 25475. Жан Выполнено за 1 час. 4 мин. [Показать отчёт]
Научился: Вместе  с учителем реализовали навигатор диапазона цен а точнее заготовку и дизайн параметров  их видимость и скрытность при активизации прописаны необходимые блоки. Создан скрипт js со связкой  к объявлениям.     
Сложности: Сложности при создании скрипта js так как редактор PhpStorm  ругается на сам скрипт видит его как ошибку подчеркивает переменные.   
90 Расширенный поиск - дата публикации - виджет извне 00:23:18
7 чел. ★ 5 Done
  На этом уроке мы установим в наш проект компонент 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 Расширенный поиск - результаты выборки - частичное представление 00:17:21
7 чел. ★ 5 Done
  На этом уроке мы рассмотрим возможность использования частичного представления в yii2-проекте и выведем в частичное представление карточку объявления
Отчёт отправил: 25475. Жан Выполнено за 1 час. 8 мин. [Показать отчёт]
Научился: Вместе у учителем создали тестовое представление site/test.php и добавили в него текст уведомления. Перенесли  блок карточек  объявления из site/index.php в вновь созданный файл site/bulletin.php. В файле SiteController.php  в функции advsearch произвели обращение к карточкам объявления. Затем протестировали по нажатию кнопки "выборка" на странице сайта появились сами объявления  и реализовали разделитель с надписью "Результаты поиска"   
Сложности: В файле SiteController.php  в функции advsearch производить обращение к карточкам объявления.  
92 Расширенный поиск - генератор поиска - возвращение к SQL-запросу 00:15:52
7 чел. ★ 5 Done
  На этом уроке мы создадим генератор отчета, используя работу ActiveRecord фреймворка yii2 c
sql-запросами, и включим в него поиск по текстовым полям формы расширенного поиска
Отчёт отправил: 25475. Жан Выполнено за 52 мин. [Показать отчёт]
Научился: В действий actionAdvsearch произвели запрос к базе данным. Реализовали поиск по полям "заголовок"  "информация" "город" "контакты" 
Сложности: При написании запроса в базу данных в запросе указал лишнюю кавычку из за этого выдало ошибку на страницу сайта  
93 Расширенный поиск - генератор поиска - ограничивающие даты 00:10:54
7 чел. ★ 5 Done
  На этом уроке мы добавим в генератор отчета расширенного поиска выборку по датам публикации

Отчёт отправил: 25475. Жан Выполнено за 1 час. 0 мин. [Показать отчёт]
Научился: Вместе с учителем в карточки объявления bulletin  реализовали вывод  дат публикации под объявлениями. Затем прописали  обращение к базе данным и поиск по датам больше или меньше.   
Сложности: При поиске дат выпадающие меню закрывает обзор дат. Так же по поиску даты не выводится объявления опубликованное в той дате которую указываешь. Надо указывать на день больше.   
94 Расширенный поиск - генератор поиска - три вида цены и один POST 00:14:47
7 чел. ★ 5 Done
  На этом уроке мы реализуем различные варианты выборки объявлений по цене и добавим их в наш генератор расширенного поиска

Отчёт отправил: 25475. Жан Выполнено за 53 мин. [Показать отчёт]
Научился: Под руководством учителя реализовали настройку параметров по поиску цены больше или меньше. Добавили свойства цены  price_more в файле  advsearchForm.php. В функции actionAdvsearch прописали обращение к базам данным  по поиску цены больше или меньше.   
Сложности: На данном этапе этого урока сложностей не возникло за исключением того что на странице  при выставлении кнопки диапазона цен "больше" или "меньше"  при нажатий кнопки "выборка" вылетает из той активной  кнопки на которую нажимали ранее то есть "больше" или "меньше".  
95 Обратная связь - свой сайт объявлений без видео
7 чел. ★ 5 Done
  И снова обратная связь.Подумаем самостоятельно и ответим на вопросы:

Отчёт отправил: 25475. Жан Выполнено за 15 мин. [Показать отчёт]
Научился: Свой сайт объявлений назвал "Sauda.kz" так как в переводе с казахского языка это в Казахстане  означает "Торговля". Доменное имя сайта аналогично такое же. Это как в пословице "Как ты яхту назовешь  так она и поплывёт".  На данном сайте  пользователи будут публиковать объявления связанные с продажей либо покупкой. Так же я думаю что данный сайт будет поддержкой и рекламным инструментом  для малого и среднего  предпринимательства  в регионе но и в целом на территории республики. Хочется чтобы данный сайт приобрел особую популярность в лучшем смысле этого слово.       
Сложности: Нарисовать эмблему и логотип своему сайту. Но выбранный мной логотип еще не является окончательным вариантом.   
96 Расширенный поиск - генератор поиска - показать, что нужно 00:20:55
7 чел. ★ 5 Done
  На этом уроке мы реализуем отображение той вкладки поиска по ценам,
по которой производился  поиск
Отчёт отправил: 25475. Жан Выполнено за 1 час. 32 мин. [Показать отчёт]
Научился: В файле AdvsearchForm.php. добавили  переменные radio_ и pills_. В функции actionAdvsearch реализовали получение  значении данных  переменных через SiteController. В скрипте js в функции $('.priceselect').ready(function () прописали видимость полей диапазона цен.  
Сложности: После того как реализовали изменения все вроде бы работает корректно. Однако когда вводишь одно и тоже значение например если цифру "0" в поле формы в диапазон  цен и ту же цифру ввести в поле  больше или меньше  то выдает ошибку "неизвестная база данных". Получается поле предыдущие запоминает введенную цифру и выдает ошибку кто поможет буду признателен  
97 Работа с документацией Yii2 00:04:42
7 чел. ★ 5 Done
  На этом уроке переходим на один из официальных сайтов по Yii2
и, пользуясь помощью документации, реализовываем одну из своих идей


Отчёт отправил: 25475. Жан Выполнено за 17 час. 1 мин. [Показать отчёт]
Научился: Реализовал одну из своих идей на сайте в нижней части footera прописал блок ссылок поделится в социальных  сетях с иконками в файле main.php заключив его в блок <div> а так же прописал дополнительную информацию о сайте. Для этого использовал официальную документацию YII2 раздел "виджеты". Так же на своем сайте в нижней части footer убрал из виду визуальный дебагер за комментировал один из массивов  в файле  config/web.php  в функции if (YII_ENV_DEV).  
Сложности: Использовать саму официальную  документацию  YII2  так как многое не понятным осталось для меня. Написано не  простым языком. Нужно все попробовать методом многочисленных  проб и ошибок.   
98 Пользователи и роли - планирование ролевой модели 00:08:08
7 чел. ★ 5 Done
  На этом уроке мы составим ролевую модель пользователей нашего сайта
Отчёт отправил: 25475. Жан Выполнено за 21 мин. [Показать отчёт]
Научился: На данном уроке вместе с учителем  продумали и прописали в черновики блокнота роли пользователям которым будут  доступные некоторые  функции на нашем сайте такие как удаление снятие с публикации редактирование тем и категории.   
Сложности: На данном этапе урока сложностей не возникло  
99 Пользователи и роли - фильтры контроля доступа ACF - теория и эксперименты 00:08:44
7 чел. ★ 5 Done
  На этом уроке мы рассмотрим принципы работы фильтров контроля доступа ACF
Отчёт отправил: 25475. Жан Выполнено за 45 мин. [Показать отчёт]
Научился: Вместе с учителем на данном уроке открыли в папке vendor/yiisoft/yii/filters/AccessControl.php файл которого является моделью контроля доступа для пользователя. В файле контроллера SiteController отработали  с методом behaviors() в параметре для ключа  only  подставив значение "advsearch" тем самым  закрыли доступ не зарегистрированному  пользователю к поиску контента на сайте.  
Сложности: Сложностей не возникло однако надо быть очень острожным чтобы что нибудь не сломать на сайте. Благо что в редакторе есть откат назад но и он может не сработать.   
100 Пользователи и роли - фильтры контроля доступа ACF - фильтруем всё 00:10:27
7 чел. ★ 5 Done
  На этом уроке мы сами создадим метод behaviors() в BulletinsController и зададим нужные фильтры для действий контроллера
Отчёт отправил: 25475. Жан Выполнено за 1 час. 56 мин. [Показать отчёт]
Научился: Вместе с учителем произвели рефакторинг  всех действий в файле  BulletinsController.php  тем самым ограничили доступ к контенту не зарегистрированных пользователей  
Сложности: Возникли сложности при переходе по ссылкам в строке браузера.  
101 Пользователи и роли - роли через RBAC - теория, установка и миграции 00:11:16
7 чел. ★ 5 Done
  На этом уроке мы установим расширение 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 - тесты и практика 00:25:53
7 чел. ★ 5 Done
  На этом уроке мы создадим тестовые роли и разрешения, а также проверим работу контроллера
согласно разрешений
Отчёт отправил: 25475. Жан Выполнено за 2 час. 43 мин. [Показать отчёт]
Научился: Вместе с учителем создали действие actionAuthinit в нём реализовали присвоения  ролей и привязки их к id в базе данных к таблицам auth_assigment. В таблице auth_item прописали название  полей о присвоении ролей.   
Сложности: При наборе кода в определенных действиях по ошибке прописал не тот код сделал синтаксическую  ошибку. После оглянувшись назад  исправил  ошибку.   
103 Пользователи и роли - роли через RBAC - вносим действия в план 00:09:04
7 чел. ★ 5 Done
  На этом уроке мы добавим действия к ролям в нашей актуальной ролевой модели
Отчёт отправил: 25475. Жан Выполнено за 32 мин. [Показать отчёт]
Научился: Под руководством преподователя в черновике блокнота раннее созданного для ролей пользователям каждому из них прописали спектр действий на сайте и манипуляции   
Сложности: Сложностей на данном этапе урока не возникло  
104 Пользователи и роли - роли через RBAC - реализация плана 00:30:34
6 чел. ★ 5 Done
  На этом уроке мы создадим актуальные роли и действия для пользователей нашего сайта
Отчёт отправил: 25475. Жан Выполнено за 3 час. 36 мин. [Показать отчёт]
Научился: Под руководством учителя очистили базу данных от таблиц тестовых ролей.  В файле сайт контроллер SiteController  в функции actionAuthinit  добавили реальные роли со спектрами  актуальных действии и прописали их в базу данных. По переходу по ссылке http://bull.local/site/authinit  в строке вывели на страницу сайта надпись  "Добавление ролей Выполнено".  
Сложности: По переходу по ссылке http://bull.local/site/authinit происходит соединение с базой данных и прописываются роли в самой  БД. На сайте подключаемся к странице  "Добавление ролей Выполнено". Но это почему то у меня происходит только один раз при повторном глобальном обновлений по F5 выдает ошибку. Может ли быть это из за того что это действие либо инициация разовая.  Кто подскажет.         
105 Пользователи и роли - ACF+RBAC - ограничим доступ к темам 00:16:01
4 чел. ★ 5 Done
  На этом уроке мы реализуем ролевую модель для контроллера тем
Отчёт отправил: 25475. Жан Выполнено за 1 час. 52 мин. [Показать отчёт]
Научился: На этом уроке научились предоставлять роли определенным пользователям прописали метод behaviors в файле ThemesController присвоили одному из пользователей права на удаление редактировании тем.   
Сложности: Уроки  были очень интересные так как уроки  вёл для нас самый лучший преподаватель  которого Я слушал и под его руководством выполнял сложнейшие задачи  в Web программировании. Дай Аллах такому преподавателю здоровья и долгих лет жизни в его нелегком труде а именно  преподавании  для нас  простых обывателей. Желаю огромных творческих успехов!!! Лайк и респект!!!!  
106 Пользователи и роли - управление ролями и привилегиями - контроллер и таблица ролей 00:16:57
3 чел. ★ 5 Done
  на этом уроке мы создадим контроллер и представление для управления ролями
Отчёт отправил: 25475. Жан Выполнено за 3 час. 43 мин. [Показать отчёт]
Научился: Создан контроллер RolesController. php. В контроллере прописали функцию  actionIndex и создали представление вывели все роли прописали кнопки управления. В панели навигации добавили кнопку "Управления ролями"  
Сложности: На данном этапе урока сложностей не возникло. Только допустил пару синтаксических ошибок при наборе блока <div>  
107 Пользователи и роли - управление ролями и привилегиями - форма добавления роли 00:13:53
3 чел. ★ 5 Done
  На этом уроке мы создадим действие добавления роли и форму добавления роли


Отчёт отправил: 25475. Жан Выполнено за 1 час. 0 мин. [Показать отчёт]
Научился: В файле  RolesController создали метод actionAddrole. Вновь в созданном файле  addrole прописали формы и хэлперы. Создали кнопки. Прописали bootstrap.   
Сложности: Сложностей не возникло  на данном этапе урока кроме одной редактор PhpStorm постоянно просит обновление.  
108 Пользователи и роли - управление ролями и привилегиями - сохранение и удаление роли 00:14:17
3 чел. ★ 5 Done
  На этом уроке мы реализуем сохранение роли, а также напишем алгоритм удаления роли
Отчёт отправил: 25475. Жан Выполнено за 1 час. 46 мин. [Показать отчёт]
Научился: Создавать механизм добавления ролей в файле addrole и механизм удаления ролей в removerole 
Сложности: Возникли некоторые  сложности при создания файла removerole не получилось скопировать с первого раза  с файла addrole 
  Итого:   108 видеоуроков 23 час. 33 мин.
25 тестов
3 чел. ★ 4.99  
  Финалисты:   Жан,   Николай Денисов,   Tom .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Записал видеообзор курса "Доска объявлений" как получилось судить вам, но не судите строго))
Трудности: скришот требует, а где я его возьму? я видео снимал, зачем тогда скрин? ну ладно выложу первый кадр



Научился: На этом курсе: 1 Я создал сайт 2 Сделал домен 3 Реализовал регистрацию пользователей 4 Добавлять объявления - которые могут добавлять только зарегистрированные пользователи один ко многим 5 Загружать фотографии - фотографии к объявлениям сохраняются на сайте в папке image Нравиться что Видеокурсы не больше чем 20мин, всё доступно и понятно рассказано и показано. Хочу научится делать правильные сайты модели MVC
Трудности: Получилось добавить звук к видео средствами youtube.com Надеюсь вы оцените мои труды. Что касается микрофона я купил микрофон и даже конденсаторный переходник, но это мне не помогло. Нужно покупать что то дорогое, а денег как известно нету.