Web サイトの編集を簡単にするプライベート プロジェクト用の 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 を含む場合もあります。いずれにせよ、別のブロック内にあるブロックを除いて、すべてのブロックに ID が必要です。このようにして、管理者がモジュールを配置する場所を決定すると、次のようなフォームが表示されます。
Header module: --select--
List modules:
--select--
--select-- (automatically adds new selects as needed)
--select-- は、インストールされているすべてのモジュールを含む HTML 選択ボックスです。ID は、変更を保存してプレビューすることなく、選択したモジュールがサイトのどこに移動するかを管理者が理解しやすくするために使用されます。
テーマ作成者は、{blocks} タグで複数のブロックを配置できます。これは、Wordpress のように、サイドバーに「タグ」、「ログイン」、「アフィリエイト」などの多くのモジュールを配置できるように、管理者がその中に複数のモジュールを配置できることを意味します。モジュールの量は {blocks limit="5"} で制限できます。他の設定もできます。
ブロックがページ上で {block id="header"} として指定されている場合、ブロック用に選択されたモジュールのコンテンツがそれに代入されることを意味します。ただし、それが {block}{/block} の場合、テーマ作成者はタグ間のどこかで {content} を使用して、コンテンツの場所を指定する必要があります。また、{name} を使用してモジュールの名前などを指定することもできます。
全体として、これに関して私ができる改善点はありますか? 何か提案はありますか?
そして最も重要なことは、代わりに使用する必要がある既存の強力なモジュラー システムを再設計しようとしているのかということです。