Domanda

Scenario:Ho un abbastanza standard pagina master per tutte le mie pagine.Include il solito form di login e altri elenchi dinamici di essere estratti su ogni pagina.Webdesigner può già modificare il contenuto centrale posto titolare di ogni pagina.Ma ancora, il design e il layout per la pagina master è ancora nel mio progetto e le eventuali modifiche, il disegno deve essere fatto in Visual Studio e il progetto di ri-compilato e ri-distribuito.

Qual è il modo migliore per fornire pressi di pieno accesso a progettare la pagina master attraverso un CMS?Alcuni dei problemi che sono in grado di identificare è l'inclusione di una lista dinamica o controlli specifici, come ad esempio un modulo di login.

Grazie.

È stato utile?

Soluzione

Sarebbe possibile per voi a mettere i segnaposto nella Pagina Master in luogo delle aree che i progettisti devono essere autorizzati a modificare?Dal momento che le Pagine Master sono modificabili solo in Visual Studio, può essere l'unica opzione fattibile a questo punto nel tempo.Un problema con questo approccio è che il contenuto di mettere il segnaposto è improbabile che sia valido, in quanto si sarebbe probabilmente tag sinistra si apre in una segnaposto e chiuso in un altro.

<html>
<head>
<title></title>
<asp:PlaceHolder ID="headerContent" runat="server"></asp:PlaceHolder>
</head>
<body>

<asp:PlaceHolder ID="beforeContent" runat="server"></asp:PlaceHolder>

<asp:PlaceHolder ID="centralContent" runat="server"></asp:PlaceHolder>

<asp:PlaceHolder ID="afterContent" runat="server"></asp:PlaceHolder>

</body>
</html>

Lo so che è brutto, ma potrebbe dare il controllo di cui avete bisogno (finché non ti dispiace il validatore XHTML avviso è tutto il tempo).Cosa mettere il segnaposto potrebbe essere la tua controlli utente o il contenuto letterale o qualsiasi altra cosa, ma avrei dovuto caricare in modo dinamico.

Pensieri?

EDIT:Questo non funziona.Il Segnaposto è sta per eseguire il rendering <div> tag che sarebbe a complicare le cose.Forse si potrebbe estendere Segnaposto e sovrascrivere come si esegue il rendering HTML.

Altri suggerimenti

A meno che tu non voglia ospitare i tuoi contenuti all'interno di un portale, non conosco una risposta perfetta a questo.

Se i bit che disegnano equivalgono solo a cercare la pagina, allora questo può essere controllato da CSS e potresti consentire loro di creare temi usando diversi file CSS.

Questa è davvero una domanda interessante e non esiste una soluzione perfetta. Ho lavorato per un negozio di e-commerce con questo problema e, francamente, ho semplicemente chiesto ai designer in molti casi di fornirmi html e css, quindi avrei preso i pezzi html e css e li avrei aggiunti al mio progetto. Sì, questo è stato noioso ....

Quindi abbiamo creato un cms in cui i progettisti potevano copiare e incollare il loro html in editor html e archiviare quei pezzi di html in un database. La mia app Web catturerebbe quelle dal database in fase di esecuzione. Questo risolve alcuni problemi, ma non tutti, dal momento che non ha dato loro il controllo completo del design della pagina web.

La linea di fondo è che è necessario standard su come il designer ti invierà il loro lavoro. Se ce l'hai, e puoi contare su html e css, allora puoi iniziare a pensare di costruire un CMS attorno a quello. In questi giorni di RAD, ho trovato più semplice lavorare solo con l'html e il CSS consegnati a me e semplicemente copiare e incollare i pezzi nella mia pagina principale e in altre pagine, se necessario.

Sebbene questa non sia una risposta CMS, hai la possibilità di consentire ai progettisti di aprire le pagine master in Expression Web. Non dirò che è lo strumento più grande del mondo, ma ho avuto i progettisti che elaborano i disegni della pagina principale in Expression con buoni risultati.

Tuttavia, c'è un punto dolente. Se l'intero progetto viene aperto, il progettista vedrà il codice dietro i file come elementi separati, non come la vista treeview vista in Visual Studio.

Immagino che la pagina master possa essere estratta per l'uso con Expression tramite un CMS, ma non esiste un modo integrato per farlo, né conosco uno strumento di terze parti per farlo. Eventualmente Expression Web 3 renderà le cose più facili.

Se hai un CMS, potresti essere meglio dargli il pieno controllo sul contenuto della pagina. Se ci sono cose che il CMS non può fare, potresti cercare di scrivere estensioni o moduli plug-in per il CMS che i tuoi progettisti possano quindi rilasciare sulla pagina nell'editor di pagine del CMS.

Se il tuo CMS non supporta i moduli plug-in, potresti provare a forzare sia il CMS che le pagine master a fare cose che non erano previste.

Se quanto sopra non funziona nella tua situazione, ecco un altro pensiero: posiziona i frame incorporati nella tua pagina principale che ospitano le pagine modificate nel CMS.

Spero che sia d'aiuto.

Domanda interessante,
mi sono dilettato in quella zona da solo un po 'di tempo fa.

Quanto sono ben informati questi web designer quando non si trovano nel regno di non-inside-Photoshop-or-flash?

Se si utilizza un DIY-CMS, forse è possibile modellare gli oggetti più sensibili, e. g. fare una lista generica (come in qualunque cosa tu voglia, non in qualunque cosa si senta ;-)) e un modo per entrare nel design, se applicabile.

Finché hai impostato un framework completo, che si occupa degli attributi disponibili per i progettisti attraverso il CMS, non dovrebbe esserci alcuna necessità di ricompilare ... ma ovviamente posso facilmente vedere uno sviluppatore ( leggi: io) inciampando nel divario della perfezione nitty-pitty ....

Temo che il percorso più semplice, e solo gestibile, sia standardizzare il modo in cui i progettisti esprimono le loro esigenze & amp; ti vuole ... non si codificherà da solo ...

Potresti fornire alcuni esempi?

Bene, con le Progetto di applicazioni Web sono non compilato fino a quando non si accede (il collegamento è 2005 ma è ancora valido) Ciò significa che l'attuale pagina .aspx (e .ascx ecc.) È distribuita nel suo stato originale. Un designer può aggiornare il formato della pagina sul server e gli aggiornamenti verranno compilati la prossima volta che qualcuno richiederà quel contenuto.

Sarebbe relativamente banale consentire ai progettisti di scaricare le pagine correnti e caricare sostituzioni attraverso l'interfaccia utente del tuo sito web. Tuttavia, non è molto sicuro (e probabilmente non dovrebbe mai essere fatto). Sarebbe meglio consentire ai progettisti l'accesso alla directory virtuale sul Web in modo che possano connettersi ad essa utilizzando uno strumento come Web di espressioni . In questo modo il designer può aprire il sito Web corrente, modificare le pagine e spingere i risultati direttamente nella produzione (spaventoso anche se quel pensiero potrebbe essere).


Mentre sto venendo sottovalutato per avere una risposta corretta, vorrei sottolineare qualcosa.

I progetti di siti Web compilano codebehind e pagine su richiesta. Se è necessario aggiornare il codice regolarmente, è una soluzione accettabile.

I progetti di applicazioni Web possono essere configurati per essere aggiornabili. Tutto il codebehind e le classi vengono compilati in un assembly e tutte le pagine aspx, ascx, ecc. Vengono distribuite e compilate su richiesta. Ciò significa che un designer può connettersi al sito Web, aggiornare il layout e il contenuto statico e visualizzare le modifiche alla richiesta successiva.

Questo è il mio metodo di distribuzione preferito. Ho alcuni progetti di applicazioni Web in circolazione, con file aspx aggiornabili distribuiti insieme alla mia dll. L'idea è che gli utenti del sito Web possono modificare l'interfaccia utente senza dover inviarmi aggiornamenti in modo da poterlo ricompilare per loro.

un .master è solo un file di testo. Possono modificarlo come vogliono. Non c'è certamente niente che farebbero per farlo che richiederebbe di ricompilare il codice solo per vederlo. Questa è la grande vittoria con Master Pages in primo luogo: designer e altri non programmatori possono modificarli manualmente senza interrompere nulla.

Concedi loro l'accesso al file sotto il controllo del codice sorgente e lasciali andare fuori di testa.

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