Skip to content

beatom/exampleYii2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

1. Layout находится в frontend/views/layouts/main.php
- проверяется текущая переменная окружения, на основании ее подключаются JS/CSS минимизированный (prod) или нет (dev).
- layout один, но на некоторых страницах отличается верстка на 1-2 класса CSS. Поэтому перед <body> проверяем текущие controller и action и если нужно, в переменные записываем классы CSS
- в разделе header выводится панель пользователя (вход/личный кабинет), логотип, текст и плашка "Добавлено вчера"
- далее попытка вывести flash-сообщение
- отображаем контент
- футер, в нем авторские права и навигация

2. ProfileController, отвечает за профиль (личный кабинет) пользователя
- actionIndex. Главная страница профиля, небольшая, содержит ссылки на разделы профиля, количество объявлений и предложений на объявления. Также FAQ
- actionAnnouncements. Список объявлений пользователя, с пагинатором если объявлений много. В экшне есть 2 view - первый, когда есть объявления, второй, когда нет, в этом случае выводится
  большой текст и картинка.
- actionPropositions. Предложения, осталенные пользователю, и самим пользователем на другие объявления. Бывают предложения покупки и обмена.
  Получаем 4 вида предложений - пользователю покупка и обмен, и оставленные пользователем на другие объявления покупка и обмен.
  Экшн маленький, как ему и полагается быть, но страница большая. Предложения переключаются табами, на каждой свой пагинатор. Фильтры сортировки, кол-ва страниц.
  При смене любого фильтра идет перезагрузка страницы с запросом на этот же action с параметром type. В нем запоминается, на какой вкладке мы находились, чтобы ее и отобразить
- actionFavorites и actionHidden. Избранное и "Больше не показывать". Просто получаем данные и передаем во view.
- actionEdit. Редактирование личных данных. Можно поменять данные, ввести доп. телефоны, указать, какой из них должен отображатся на сайте
  Также можно удалить основной телефон (далее подтверждение нового) и загрузить аватарки. Аватарок может быть несколько, ее можно менять из существующих или загрузить новую.
  Еще здесь происходит привязка соцсетей к аккаунту
- actionSubscribe. Форма с чекбоксами для подписки на рассылки. Здесь просто сохранение данных, сама рассылка идет кронами.
- actionChangePassword. Смена пароля. При вводе пароль проверяется на надежность индикаторами
- actionRemovePhone. Начало удаления (смены) основного телефона. Отправка пользователю на старый номер смс с кодом подтверждения удаления
- actionRemovePhone. Форма с полем для ввода кода подтверждения удаления телефона. Если код введен верно, телефон удаляется и пользователь перенаправляется на главную страницу профиля.
  Поскольку телефон удален, у пользователя поменялась роль, в личный кабинет его не пускает, заставляет ввести новый номер и подтвердить.
  Также есть ссылка "Отправить повторно". Отправлять можно не ранее, чем через 5 минут после предыдущей отправки
- actionRemovePhoneResend. Повторная отправка кода подтверждения для удаления телефона

3. RbacController находится в console/controllets.
   Есть 4 типа ролей - гость, зарегистрированный, подтвержденный и администратор.
   Правила, который добавляется в RbacController, находится в common/components/rbac

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages