Pergunta

Cenário: Eu tenho uma página mestra bastante padrão para todas as minhas páginas. Ele inclui os formulários de login habituais e outras listas dinâmicas sejam extraídos em cada página. Webdesigners já pode modificar o espaço reservado de conteúdo central de cada página. Mas ainda assim, o design e layout para a página principal ainda está em meu projeto e qualquer alteração ao projecto devem ser feitas no Visual Studio eo projeto re-compilado e re-implantado.

Qual é a melhor maneira de fornecer acesso quase completo para projetar a página mestre através de um CMS? Alguns dos problemas que podem identificar é a inclusão de quaisquer listas dinâmicas ou controles específicos, tais como um formulário de login.

Graças.

Foi útil?

Solução

Seria possível para você colocar espaços reservados na página mestra no lugar das áreas que os designers devem ser autorizados a editar? Desde Master Pages são apenas editável no Visual Studio, pode ser sua única opção viável neste momento. Um problema com esta abordagem é que o put conteúdo nos espaços reservados é improvável que seja válido, desde que você provavelmente teria marcas deixadas em aberto em um espaço reservado e fechado em si.

<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>

Eu sei que é feio, mas pode dar-lhe o controle que você precisa (contanto que você não se importa o validador XHTML avisando o tempo todo). O que você colocar nos espaços reservados poderiam ser seus controles de usuário ou conteúdo literal ou o que quer, mas você tem que carregá-lo dinamicamente.

Os pensamentos?

EDIT: Isso não vai funcionar. O espaço reservado vai processar tags <div> que baralhar as coisas. Talvez você poderia estender PlaceHolder e override como ele torna o seu HTML.

Outras dicas

A menos que você quer hospedar seu conteúdo dentro de um portal Eu não sei de uma resposta perfeita para isso.

Se os bits eles projetam só ao olhar e sentir para a página, então isso pode ser controlado por css e você poderia permitir-lhes criar temas usando diferentes arquivos CSS.

Esta é certamente uma questão interessante, e não há solução perfeita. Eu trabalhei para uma loja de comércio eletrônico com esta questão, e, francamente, eu só pediu os designers em muitos casos a fornecer-me lá HTML e CSS, então eu iria pegar as peças de html e css e adicioná-los ao meu projeto. Sim, este foi tedioso ....

Então nós construímos um cms onde os designers poderiam copiar e colar o seu html em editores HTML, e gostaríamos de armazenar essas peças de html em um banco de dados. Meu aplicativo web iria pegar os do banco de dados em tempo de execução. Esta resolver alguns problemas, mas não todos, uma vez que não dar-lhes o controle completo do design da página web.

A linha inferior é que você precisa para padrão de como o designer irá apresentar o seu trabalho para você. Se você tem isso, e você pode contar com o HTML e CSS, então você pode estrelar a pensar em possivelmente a construção de um CMS em torno disso. Neste dias de RAD, eu tê-lo encontrado mais fácil simplesmente trabalhar com o HTML e CSS entregue a mim e simplesmente copiar e colar os pedaços em minha página mestra e outras páginas conforme necessário.

Enquanto isso não é uma resposta CMS, você tem a capacidade de permitir que os designers para abrir as páginas mestras no Expression Web. Eu não vou dizer que é a maior ferramenta no mundo, mas eu tive designers trabalham-se os desenhos da página-mestre no Expression com bons resultados.

Há um ponto de dor, no entanto. Se todo o projeto é aberto, o designer vai ver o código por trás de arquivos como itens separados, não como a vista treeview visto no Visual Studio.

Eu imagino que você poderia ter a página mestra check-out para uso com o Expression através de um CMS, mas não há é construído em forma de fazer isso, nem sei de uma ferramenta de terceiros para fazer isso. Esperemos Expression Web 3 vai tornar as coisas mais fáceis.

Se você tem um CMS, você pode ser melhor para dar-lhe o controle total sobre o conteúdo da página. Se há coisas a CMS não pode fazer, você pode olhar para as extensões de gravação ou módulos de plug-in para o CMS que seus designers podem, em seguida, cair sobre a página no editor de páginas da CMS.

Se o seu CMS não suporta módulos de plug-in, você pode estar tentando forçar ambas as páginas do CMS e do mestre para fazer coisas que não foram destinados a fazer.

Se o acima não funciona na sua situação, aqui está outro pensamento:. Quadros lugar em linha em sua página principal que páginas de acolhimento que são editados no CMS

Espero que ajude.

É uma pergunta interessante,
foi meter nessa área me um tempo atrás.

Como conhecedor são esses web designers, quando não no reino da não-dentro-Photoshop-ou-flash?

Se estiver usando um DIY-CMS, talvez você pode template os objetos mais suscetíveis, e. g. fazendo um genérico (como em tudo o que se sente como, não quer que eles se sentem como ;-)) lista e uma maneira de entrar em design, se for o caso.

Enquanto você tem uma estrutura completa configurar, que lida com os atributos disponíveis para os designers através do CMS, não deve haver qualquer necessidade de recompilar ... mas é claro, eu posso facilmente ver um desenvolvedor ( leia-se: me) tropeçando na abertura de nitty-pitty-perfeição ....

Eu tenho medo o mais fácil, e só administrável, o caminho é padronizar a forma como os designers de expressar suas necessidades e quer que você ... Ele só não vai-se ...

código

Você poderia dar alguns exemplos?

Bem, com páginas de um href="http://msdn.microsoft.com/en-us/asp.net/aa336618.aspx" rel="nofollow noreferrer"> Projeto Aplicação Web

Seria relativamente trivial para permitir que os designers para fazer o download das páginas atuais e substituições de upload através da interface do usuário do seu site. No entanto, não é muito seguro (e provavelmente nunca deve ser feito). Seria melhor para permitir o acesso designers para o diretório virtual através da web para que eles possam se conectar a ele usando uma ferramenta como o Expression web . Desta forma, o designer pode abrir o site atual, editar páginas, e empurrar os resultados diretamente na produção (assustador tho que o pensamento pode ser).


Como eu estou ficando downvoted para ter uma resposta correta, deixe-me apontar algo.

projectos Site compilar CodeBehind e páginas demanda. Se você precisa de código de atualização regularmente, seu uma solução bem.

projetos de aplicativos da Web pode ser configurado para ser atualizável. Todos codebehind e as classes são compilados em uma montagem, e todas as páginas aspx, ascx, etc são implantados e compilado por demanda. Isto significa que um designer pode se conectar ao site, atualizar o layout e conteúdo estático, e ver as mudanças na próxima solicitação.

Este é o meu método preferido de implantação. Eu tenho alguns projetos de aplicativos web lá fora na selva, com arquivos aspx atualizáveis ??implantado ao lado do meu dll. A idéia é que os usuários do site pode alterar a interface do usuário sem ter que se submeter atualizações para mim para que eu possa recompilar-lo para eles.

a .master é apenas um arquivo de texto. Eles podem editá-lo como quiser. Não há certamente nada que faria com que exigiria que você recompilar o código apenas para vê-lo. Essa é a grande vitória com Master Pages, em primeiro lugar:. Designers e outros não-programadores podem editá-los manualmente sem quebrar nada

Dê-lhes o acesso ao arquivo sob controle de origem e deixá-los ir nozes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top