Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Модульность приложения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
melomaniac
Отправлено: 15 Января, 2015 - 18:24:17
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Всем добрый вечер. Есть к примеру у нас приложение MVC с модульной структурой. Модули добавляются/удаляются, но в ручном режиме. Не могу понять как организовать что-типа менеджера модулей в админке, к примеру установка(ну здесь вроде норм все), а вот как задавать им статус- активен/не активен с админки не допру. Про observer читал, но как на практике применить его в данном случае. Нормальных примеров тоже не нашел, может не там искал.

Есть идея при установке записывать данные модуля в БД, к примеру создать таблицу modules и в ней 2 столбца - name, active, и выбирать где active = 1 для автозагрузки(остальные не подгружать), но что то я сомневаюсь в правильности такого решения Огорчение
 
 Top
Ch_chov
Отправлено: 15 Января, 2015 - 18:53:21
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




melomaniac пишет:
а вот как задавать им статус- активен/не активен с админки не допру
В базе табличку сделайте.
 
 Top
DelphinPRO
Отправлено: 15 Января, 2015 - 19:29:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




melomaniac пишет:
но что то я сомневаюсь в правильности такого решения

Посмотрите любую CMS
Обычно так и сделано Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
melomaniac
Отправлено: 15 Января, 2015 - 21:03:07
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Понял, огромное спасибо Улыбка
 
 Top
GoDr
Отправлено: 17 Января, 2015 - 11:06:20
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Ну я для себя пришёл к такому решению.

Есть модуль с такой структурой
mod_qqq - папка с дополнительными скриптами, картинками и всё что нужно модулю
mod_qqq.php - сам модуль
mod_qqq.ini - файл настроек при установке, удалении, значений по умолчанию и т.п.

Есть два варианта.
1. Установка модулю через панель управления. Соответственно при установке все настройки по умолчанию запишутся в таблицу модулей.
2. Я просто тупо копирую файлы в папку с модулями. И при запросе модулей если в таблице нет данных, то они создаются автоматом как-будто я его устанавливаю

Из сказанного получаем такую таблицу:
id - Идентификатор модуля. Очень помогает. когда существует несколько копий модуля, а нужно применить индивидуальный стиль к конкретному. Что-то типа такого
CODE (htmlphp):
скопировать код в буфер обмена
  1. <aside id="mod_qqq_ID">...</aside>


title - Название модуля. На русском чтобы в панели управления понимать что это вообще

module - Название модуля. Тут простое название модуля на [09a-z_]. Обычно это название файл модуля

ordering - Порядок сортировки модуля. Например, модуль "Самое интересное из категории". И модули идут один за другим. Вот и нужно определить в каком порядке всё таки лучше их показывать

position - Привязка модуля к позициям в шаблоне сайта. Тут всё понятно. есть шаблон сайта и мы определяем в какой позиции сайта выводить данный модуль

published - Статус активен/неактивен

access - права для просмотра модуля. Т.е. кому разрешается показывать этот модуль: администратору, модератору, пользователю, гостю, всем...

params - настройки модуля. Сами настройки модуля. Обычно в формате key=param\nkey=param\nkey=param

(Отредактировано автором: 17 Января, 2015 - 11:14:20)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB