Курсы по программированию

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

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

Доска объявлений / Работа с документацией Yii2

  • На этом уроке переходим на один из официальных сайтов по Yii2
    и, пользуясь помощью документации, реализовываем одну из своих идей

  • Дата отправки отчёта: 6 февраля 2020 г.
  • Задание выполнено: за 1 день 21 час. 55 мин.
  • Чему научился: Я уже не не раз обращал внимание, что в проекте допускается введения отрицаиельной цены.
    Вот как раз и представилась возможность устранить этот недостаток.
    Для этого в файле BulletinsForm.php  в методе rules() при описании поля цены price добавляем дополнительные ограничения  'min' => '0'.
  • Что было сложным: Отмечу, что до сделанных изменений реакция системы на нечисловые значения была на английском языке.
    Теперь сообщения об ошибке на русском.
    А вот папытка руссифицировать сообщения о недопустимости отр. значений не удалась.
    И я пока не нашел как это сделать?
  • Оценка видео-уроку:
Отчёт от 11589 за Доска объявлений / Работа с документацией Yii2


Отчёт от 11589 за Доска объявлений / Работа с документацией Yii2




Оцени работу

 
Сохранить страницу:

24418. --
Евгений
Евгений
ответить
→  Yefim  # Доска объявлений / Работа с документацией Yii2 / 2020-02-06 18:31

Хорошее замечание


791. --
Валерий Жданов
Валерий Жданов
ответить
→  Yefim  # Доска объявлений / Работа с документацией Yii2 / 2020-02-06 21:25

я пока тоже не нашел)) но обязательно это решим)


18842. --
Степан
Степан
ответить
→  Yefim  # Доска объявлений / Работа с документацией Yii2 / 2020-03-16 16:11

Я по твоему примеру сделал, так у меня при вводе отрицательного числа выводится "Цена и дальше по иностанному", а когда ввожу буквы, вместо цифр, все нормально пишет по русски, странно... А так то спасибо за это решение


  • Отчёт оценивали:
    24418Евгений0   24452Рустам0   17947Dmitry Sinitsin+1   791Валерий Жданов+1   9480Кирилл+1   9014Николай Денисов+1   24357Матюхин Сергей0   13417Chip+1   24337Макс0   2146Иван+1   18842Степан+1  

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





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

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

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

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


Научился: использовать функцию exists(); а также узнал о unique в правилах ActiveRecords
Трудности: Наконец, Сделал этот урок. Прошлый урок сделал 25 мая. Это был самый сложный урок. Заметил, что у нас можно регистрировать людей с одинаковыми логинами. Решил это исправить. Долго искал место, где же это надо сделать. Методом проб и ошибок с трудом нашел, куда же это можно прикрутить. Не уверен, что сделал это там , где нужно. Но для меня было главным, чтобы заработало. А то в процессе поиска пару раз совсем сломал все. А бекапа не делал. Рад, что все-таки удалось починить.



Научился: В своем отчете https://www.videosharp.info/30514/checking/bulletin=2582 я указал три ошибки на сайте. В этом уроке их исправлял. Первая проблема: некорректные элементы br в тексте объявления. Для решения первой проблемы я перенес вызов функции nl2br для поля info из модели BulletinsForm в код представления site/viewbulletin. Теперь в базе данных нет текста br, он появляется только в момент показа объявления в представлении. Вторая проблема: встраивание html, css, javascript в поля формы. Чтобы решить вторую проблему я использовал документацию по yii по адресу https://www.yiiframework.com/doc/guide/2.0/en/structure-views#security . Добавил вызовы функций Html::encode и HtmlPurifier::process вокруг вывода информации из базы данных в представлении. Настроил вызов HtmlPurifier::process для того, чтобы разрешить только теги br, а все остальные теги экранировались. Теперь все html-теги(кроме br для переноса строки в поле info), css-правила и javascript-код экранированы и не влияют на дизайн страницы. Javascript код не запускается. Третья проблема: при уменьшении ширины окна изображение выходит за границы левой колонки. Третья ошибка не связана напрямую с yii2, здесь дело в верстке. Для ее решения я изменил значение атрибута style на style="max-width: 100%; height: 400px; object-fit: contain;". Теперь изображение занимает не больше, чем 100% ширины родительского элемента и не выходит за границу левой колонки. Высота фиксирована, поэтому миниатюры под изображением не прыгают. И object-fit: contain необходим для сохранения пропорций изображения при его замене после выбора миниатюры.