Isolution666
@Isolution666
Full-Stack Developer

Как лучше, сделать всплывающие окна для Yii2?

Здравствуйте, уважаемые программисты.
--
Есть три способа, как выводить всплывающие окна на фреймворке Yii2.
Одни способы могут быть правильными и логичными для Yii2 - другие напротив.
Чтобы не городить чушь при разработке этой задачи, я решил посоветоваться с профессионалами.
Итак начнём:
1) способ, это некие манипуляции с настройками Yii2 которые помогут стерилизовать "data-confirm" в более приятные соответствующие стилю и дизайну всплывающие окна.
2) способ, это использование javascript как показано здесь
3) способ, это переписать функционал под Modal Bootstrap, и выводить все оповещения (нотификацию), только в них.

Так же, это эстетический подход к делу, учитывать такие проблемы, как кроссбраузерность, отключение javascript [маловероятно но не исключено], адаптивный дизайн (никому не понравятся баги и странности в поведении скрипта, если к примеру включен adblock и прочие блокировщики рекламы).
---
Согласитесь, что так выглядит гораздо приятнее и красивее
2af1dec85ccc4ebbad6534afa03d13e4.png
===
Какой способ лучше, кто что порекомендует? Интересно ваше мнение, плюс объяснения, если хуже, то чем, если лучше, то в чём.
Заранее благодарю за развёрнутые ответы, подсказки, ссылки и прочую полезную информацию.

P.S. очень важно, чтобы окно закрывалось только по клику по кнопке, отмена или ok, а не по фону, как в модальных окнах.
  • Вопрос задан
  • 2209 просмотров
Решения вопроса 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Если Вам по тем или иным причинам не устраивает bootstrap Modal - не используйте.
Если есть другой готовый плагин, который устраивает - используйте его, например alertifyjs.com , если и другие сторонние решения не подходят, делайте свой. Yii Вас в данном случае не как не ограничивает.
Ответ написан
DarkRaven
@DarkRaven
разработка программного обеспечения
А почему бы вам не попробовать вот этот замечательный плагин - bootboxjs.com/examples.html#bb-alert-dialog ?
Имею опыт его использования с года 2013-2014, и, как-то не разу не возникало потребности заменить его чем-то другим.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Берешь фиксед блок на всю страницу размером делаешь его полупрозрачным черным
Потом абсолют блок на всю страницу размером, не забываешь сделать overflow-y scroll
В него вкладываешь блок с display table на всю страницу размером
В него display table-cell с vertical-align middle на весь родитель размером
В него вкладываешь inline-block белый шириной например 400 пикселов или там уже от размера экрана смотри - вот тебе белый фон

Дальше добавляешь всей этой конструкции class "active" только при определенном условии - класс актив - показывает модалку

Пишешь два скрипта - закрыть и показать, функции из них запихиваешь куда-нибудь в App.modals.fn.showModal() / hideModal()

А дальше как обычную форму - пишешь ее отдельно и вставляешь в этот блок. Скриптами или условием показываешь-скрываешь. Действия обрабатывает обработчик формы а не модалки. По окончании обработчика формы коллбэком можешь закрывать модалку или показывать другую.

Какое готовое решение использовать? Ну которое делает это же, только само. Как узнать? Расколупать и посмотреть, попробовать то то и вон то. Остановится на том, что позволяет меньше работать.

В обществе типа Венеры ты бы просто попросил любого кодера и он бы тебя научил. В капитализме есть великий шанс услышать ответ типа "слыш, я мучался, а ты нахаляву хочешь?" и в обоих случаях люди правы. Вопрос - к чему стремятся. В капитализме - к деньгам, поэтому чем больше другие страдают, тем проще заработать. В коммунизме - к счастью - поэтому все с удовольствием помогают, но миллионеров и бизнесменов нет, вот незадача, все сидят и ждут команду.

Ну только так получится. Быстрее не выйдет, ты можешь убедить директора, что быстрее не выйдет. Убедить компьютер написать код за тебя не получится. Убеждаются, к сожалению, только люди.
Ответ написан
slo_nik
@slo_nik Куратор тега Yii
Доброй ночи.
В yii2 есть Class yii\bootstrap\Modal, вот его и используйте, зачем голову ломать?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы