1

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

Прежде всего, у меня есть «темы», которые представляют собой набор HTML, CSS и, возможно, JS. Каждая тема может содержать разные стили, которые находятся в отдельных файлах (например, full-width.html, fluid.html и т. Д.). Затем администратор может выбрать другой стиль для разных страниц. Некоторые страницы имеют только 1 колонок, некоторые из них боковых панелей и т.д.

ток так, как это работает в том, что стиль HTML выглядит следующим образом:

<html> 
<body> 
<div id="header">{block id="header"}</div> 
<ul> 
{blocks id="list"} 

{block} 
<li> 
{content} 
</li> 
{/block} 

{/blocks} 
</ul> 
</body> 
</html> 

Тема создатель может поместить «блоки», которые определяют, где админы могут размещать модули. Эти модули могут быть просто текстовыми или содержать более сложные HTML, такие как крикбокс или форма входа. В любом случае, все блоки должны иметь идентификаторы, кроме тех, которые находятся внутри другого блока. Таким образом, когда администратор решает, где разместить модули, то он получит форму, как:

Header module: --select-- 
List modules: 
    --select-- 
    --select-- (automatically adds new selects as needed) 

Где --выберите-- является выберите поле HTML, содержащий все установленные модули. Идентификатор используется, чтобы администратору стало легче понять, где выбранный модуль находится на сайте, без необходимости сохранения изменений и предварительного просмотра.

Создатель темы способен размещать несколько блоков с тегом {blocks}. Это означает, что администратор может размещать в нем несколько модулей, например, в Wordpress вы можете иметь «теги», «логин», «филиалы» и т. Д. Множество модулей на боковой панели. Количество модулей может быть ограничено {blocks limit = "5"}. У меня могут быть и другие настройки.

Если блок указан на странице как {block id = "header"}, то это означает, что содержимое выбранного модуля для блока будет заменено на него. Однако, если это {block} {/ block}, то создатель темы должен использовать {content} где-то между тегами, чтобы указать место для содержимого. Он также может использовать {name} для указания имени модуля и т. Д.

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

И самое главное, я пытаюсь переделать уже существующую мощную модульную систему, которую я должен использовать вместо этого?

ответ

2

Посмотрите на это article about Facelets. Неважно, если вы не парень из java. Просто посмотрите на конструкции макета в середине статьи.

На практике эти конструкции очень удобны, поэтому, возможно, вы найдете там что-то, что вы захотите предоставить с помощью cms.

1

я пытаюсь переделать уже существующую могучая модульную систему, что я должен использовать вместо этого?

Я могу придумать два, которые соответствуют описанию: Struts with Tiles, и веб-сервисы squarespace.

Смежные вопросы