Domanda

Sto progettando un CMS per un progetto privato che dovrebbe rendere la redazione del sito web semplice. Supporta modularism. Tuttavia, è ancora in fase beta, e ora sto chiedendo se è possibile vedere qualcosa che avrei potuto migliorare o se si dispone di alcuni approcci completamente diversi a questo scenario.

Prima di tutto, ho "temi" che sono un insieme di HTML, CSS e JS forse. Ogni tema può contenere diversi stili che sono ciascuno in file separati (come full-width.html, fluid.html, ecc). Poi l'amministratore può scegliere uno stile diverso per le pagine differenti. Alcune pagine hanno solo 1 colonna, alcuni hanno barre laterali, ecc.

attuale il modo in cui funziona è che un HTML stile assomiglia:

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

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

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

Il creatore tema può mettere "blocchi" che definiscono in cui l'amministratore può inserire i moduli. Questi moduli possono essere solo testo o contenere più complessa HTML come una shoutbox o di un modulo di accesso. In ogni caso, i blocchi devono avere tutti ID di eccezione di quelli che sono all'interno di un altro blocco. In questo modo, quando l'amministratore decide dove posizionare i moduli, otterrà una forma come:

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

Dove --select-- è una casella di selezione HTML contenente tutti i moduli installati. L'ID viene utilizzato per rendere più facile per admin per capire dove il modulo selezionato va sul sito senza dover salvare le modifiche e anteprima.

Il creatore tema è in grado di mettere più blocchi con tag {} blocchi. Ciò significa che l'amministratore può inserire diversi moduli all'interno di esso, come in Wordpress si può avere "tag", "Login", "affiliati", ecc sacco di moduli sulla barra laterale. La quantità di moduli può essere limitato con {blocchi limite = "5"}. Potrei avere alcune altre impostazioni, anche.

Se il blocco è specificato sulla pagina come {block id = "header"} allora significa il contenuto del modulo scelto per il blocco saranno sostituiti in esso. Tuttavia, se si tratta di {block} {/ block}, allora il creatore tema deve usare {} contenuti da qualche parte tra i tag per specificare il luogo per il contenuto. Egli può anche utilizzare {nome} per specificare il nome del modulo, ecc.

In generale, ci sono alcuni miglioramenti che potrei fare su questo? Hai qualsiasi suggerimenti?

E, soprattutto, sto cercando di ridisegnare un sistema potente modulare già esistente che dovrei usare, invece?

È stato utile?

Soluzione

Guardate questa su Facelets . Non importa se non sei un ragazzo Java. Basta guardare le costruzioni facelet nel bel mezzo di questo articolo.

In pratica queste costruzioni sono molto convenienti così forse che vi troverete qualcosa che si vorrà fornire il vostro CMS.

Altri suggerimenti

  

sto cercando di ridisegnare un già   sistema modulare potente esistente che   dovrebbe usare invece?

Mi vengono in mente due che si adattano alla descrizione: Struts con piastrelle, e il servizio basato sul web Squarespace .

Dai un'occhiata in NVelocity dal Castello pila è molto potente e sembra che si sta cercando di reinventare la ruota un po '.

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

Spero che questo aiuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top