Модуль управления виджетами...

Обсуждаем, как правильно строить приложения
Ответить
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Модуль управления виджетами...

Сообщение SergV »

Решил поднять свой двиг на Yii2, что начинал в 2017-м и забросил, практически доделал, решил доработать модуль управления виджетами, но не нашёл как это правильней сделать, и пока накостылил этак примерно...

В общем суть в следующем. Есть модуль виджетов, имеет свою модель общих настроек, с полем для настроек самого виджета в json формате. Так как у виджетов свои формы настроек, их надо подключать динамически, в зависимости от выбранного.
Стандартные варианты по работе с несколькими моделями мне не подходят тут, так как всего одна таблица для виджетов, куда пишутся настройки. Поэтому я накостылил подгрузку из виджита отдельно для контроллера, модели и вьюхи свои данные, и в контроллере через отдельный класс обрабатываю полученные данные формы виджета в json формат, и сохраняю в поле настроек, и т.д...

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

ПС. Ну и повторюсь для тех кто ещё не знает, я не программист, всех терминологий не знаю, я всё ещё вечно начинающий..., так что без английского "мата" битте, сам знаю что чайник и т.д., я для себя делаю, мне сойдёт. ;)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Модуль управления виджетами...

Сообщение samdark »

Из коробки настройки виджетов есть в контейнере: https://www.yiiframework.com/doc/guide/ ... ical-usage. Хранения конфига виджетов в базе нет.
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Модуль управления виджетами...

Сообщение SergV »

По DI контейнеру почитаю, спасибо, пока на быструю не понял как это мне может помочь в данном случае...
То что в базе настройки не хранятся, мне известно, поэтому и делаю менеджер виджетов с выводом их через виджет позиций. Суть в том, что если скажем нужен один виджет, с обширными настройками, который надо этак 10 раз в теме прописать, под разные настройки, плюс ещё там какие другие виджеты, то получается этакая портянка. Поэтому я и хочу эти настройки в базу менеджера виджетов сохранять, и потом от туда подтягивать. Виджет позиций просто проходит по базе, и вытягивает из неё те виджеты, что под позицию активны, ну и в порядке размещения их грузит, отдавая в них массив настроек.
В случае если мне понадобится внести изменения, я их смогу быстро через менеджер сделать, вместо того что бы лезть в портянку и искать где там чего поправить... Сейчас мне конечно не надо лезть в портянку, но в менеджере всё равно надо настройки вручную править, а так, кнопку нажал, из списка выбрал, и т.д., куда удобней, чем json|php формат конфига.
ПС. Один из сайтов на этом движке будет онлайн витриной офлайн магазина, и там придётся ежедневно и еженедельно что то настраивать в виджетах, типа новых поступлений, предложений и т.д., поэтому и надо как удобней и по быстрому, вот и заморочился этим, вручную вписывать картинки и т.д., куда дольше чем выбрать из списка...

В любом случае спасибо за ответ, буду дальше ковырять, в крайнем случае оставлю костыли, всё равно двиг для своих целей, кроме меня ковырять там код не кто не будет.
Ответить