Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
8
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
899
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
952
0
Очень долго работает Update запрос Oracle
27th January, 09:58
916
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
907
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
942
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1727
0
период по дням
25th October, 10:44
3957
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3722
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4614
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4382
0
Помогите пожалуйста решить задачи
24th November, 23:53
6088
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4352
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4400
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Какая организация контента в CMS более удобна?
Просмотров: 317
 
Ответов: 7
Можно предоставить пользователю возможность собирать документ из различного рода блоков-кирпичиков (я так понимаю, Друпал так работает). В таком случае возрастает нагрузка на администратора (автора).
Либо тупо использовать «железную» схему, т.е. документ в блоге должен состоять из строго определенных полей, а любые изменения функционала через плагины. В этом случае меньше гибкость, но система вроде как ближе к юзеру.
Что посоветуете? Интересует как мнение программистов, так и пользователей таких систем.
В 6м Друпале у нод есть строго определенные поля. И есть плагин, который позволяет добавлять очередные блоки-кирпичики — CCK, его надо скачивать и ставить отдельно…
В 7м же Друпале этот модуль не просто поставляется «из коробки», а объединен с системой.
Так что какой-то промежуточный вариант получается ;)
для drupal два варианта:
1) drupal + CCK
создаем необходимый нам тип контента
и уже к типу добавалем нужные нам поля (очередные блоки-кирпичики)
далеe можем создавать ноды этого типа
2) drupal + самописный модуль
пишем модуль котрый с определенному типу контента добавляет нужные нам поля.
далеe можем создавать ноды этого типа
Друпал (с cck) немного не так работает, насколько я помню — из блоков-кирпичиков (а точнее полей различных типов) он, обычно, позволяет только администратору собирать новый тип документа, а остальные пользователи (авторы) могут создавать документы этого типа — заполнить обязательные поля (с заданными администратором ограничениями), заполнить или нет необязательные… Но добавить свои или, хотя бы, не заполнять обязательные автору не получится (при дефолтных правах). В общем всё в традициях реляционных баз данных с жёстко заданной схемой.
ИМХО, если пишешь CMS, то то лучшим вариантом будет следующий — жесткая форма для страницы(лучше почти прямое отображение в БД) + возможность добавлять дополнительные поля(типа key-value, тогда в шаблоне легко вывести это через {доп. поле key}) + конструктор форм и много виджетов. При определенной доле строгости можно реализовать почти все. Для контента классно будет иметь rich editor, который будет работать с библиотекой мультимедиа. Посмотри Wordpress(правда не все что я описал, он может из коробки).
Другое дело если хочешь написать CMF, тогда нужно сделать возможность кодинга из админки, но для пользователя такая админка не годится.
Посмотри Modx.
в phpMyEngine я реализовал всё так:
есть базовый класс Record, в котором хранятся основные данные о записи — id, теги, рейтинг и т.д., так же у Record есть два специальных поля — mutagenType и mutagenData. В mutagenType — указывается тип мутагена (например "staticpage","blogpos","category"), а в mutagenData загружаются свойства этого мутагена. Сам мутаген хранится в «etc/mutages» и представляет из себя JSON-файл с описанием свойств и их поведением. А в админке ещё и автогенерируется формочка для редактирования :)
Если будет интересно, то скоро могу начать серию статей в "Я пишу CMS"
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться