Question

Je suis la conception d'un CMS pour un projet privé qui devrait faire l'édition du simple site web. Il prend en charge modularism. Cependant, il est encore en version bêta, et je vous demande maintenant si vous pouvez voir quelque chose que je pourrais améliorer ou si vous avez des approches totalement différentes à ce scénario.

Tout d'abord, j'ai « thèmes » qui sont un ensemble de HTML, CSS et peut-être JS. Chaque thème peut contenir des styles différents qui sont chacun dans des fichiers séparés (comme plein width.html, fluid.html, etc.). Ensuite, l'administrateur peut choisir un style différent pour différentes pages. Certaines pages ont seulement 1 colonne, certains ont des barres latérales, etc.

courant de la façon dont il fonctionne est que HTML style ressemble à:

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

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

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

Le créateur de thème peut placer « blocs » qui définissent où l'administrateur peut placer des modules. Ces modules peuvent être simplement du texte ou HTML contiennent plus complexe comme un shoutbox ou un formulaire de connexion. Quoi qu'il en soit, les blocs doivent tous avoir les ID, sauf pour ceux qui sont à l'intérieur d'un autre bloc. De cette façon, lorsque l'administrateur décide où placer les modules, il obtiendra une forme comme:

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

Où --sélectionnez-- est une boîte de sélection HTML contenant tous les modules installés. L'ID est utilisé pour le rendre plus facile pour l'administrateur de comprendre où le module sélectionné va sur le site sans avoir à enregistrer les modifications et aperçu.

Le créateur de thème est capable de placer plusieurs blocs avec la balise {bloque}. Cela signifie que l'administrateur peut placer plusieurs modules en son sein, comme dans Wordpress, vous pouvez avoir des « tags », « login », « filiales », etc un bon nombre de modules sur la barre latérale. La quantité de modules peut être limitée avec {limite de blocs = « 5 »}. Je pourrais avoir d'autres paramètres aussi.

Si le bloc est spécifié sur la page {bloc id = « tête »} alors cela signifie que le contenu sera remplacé le module choisi pour le bloc en elle. Cependant, si elle est {bloc} {/} bloc, le créateur de thème doit utiliser {} contenu quelque part entre les balises pour spécifier l'endroit pour le contenu. Il peut également utiliser {name} pour indiquer le nom du module, etc.

Dans l'ensemble, il y a quelques améliorations que je pourrais faire à ce sujet? Avez-vous tout suggestions?

Et surtout, je suis en train de redessiner un système déjà existant puissant modulaire que je devrais utiliser à la place?

Était-ce utile?

La solution

Regardez cette sur les Facelets . Peu importe si vous n'êtes pas un gars java. Il suffit de regarder les constructions Facelet au milieu de l'article.

Dans la pratique, ces constructions sont très pratique donc peut-être vous trouverez quelque chose que vous voulez fournir votre CMS.

Autres conseils

  

Je suis en train de redessiner un déjà   existant système modulaire puissant que je   devrait utiliser à la place?

Je peux penser à deux qui correspondent à la description: Struts avec des carreaux, et le service basé sur le Web Squarespace .

Jetez un coup d'oeil dans NVelocity de la pile le château, il est très puissant et il semble que vous essayez de réinventer la roue un peu.

http://www.castleproject.org/others/nvelocity/index.html

J'espère que cette aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top