Pergunta

Eu sou totalmente novo para Sharepoint (2007) por isso, tenha comigo. Eu gostaria de criar automaticamente aspx páginas quando um novo site é criado. Estas páginas serão ligadas a pelas guias que serão definidas por uma página mestre. Eu não tenho uma definição de site personalizado e estava planejando aplicar recurso grampeamento ao sair da definição do site caixa em branco.

Através da minha pesquisa, eu acho que você pode criar uma página web part e transformar isso em um recurso. Eu posso então grampo isso para a definição do site em branco. O problema é que eu não encontrei nenhuma informação sobre como fazer isso. Assim, as duas perguntas que eu tenho são:

  1. Como faço para criar um recurso que é apenas uma página aspx?
  2. Como fazer grampo I esse recurso para uma definição de site em branco?

Eu encontrei uma pessoa fazendo a mesma pergunta aqui: Como adicionar uma página web Part para uma definição site? Eu li a primeira resposta, mas isso meio que passa por cima da minha cabeça e eu não sei se ele realmente responde a minha pergunta.

Muito obrigado!

Foi útil?

Solução

A resposta à sua primeira pergunta depende se você quer dizer páginas aplicação ou páginas de conteúdo . Cada um deles tem as suas vantagens: páginas de aplicativos são bons no que eles podem executar código personalizado do lado do servidor, e páginas de conteúdo são bons porque (por exemplo) que pode ser personalizado pelos usuários, mas por padrão são restritas em que tipo de código pode ser prazo.

Para uma boa discussão muito sobre as diferenças entre os dois tipos de capacidades e restrições, consulte a Windows SharePoint Services SDK e olhar para os temas chamados " tipo de página Aplicação _layouts " e " conteúdo tipo de página ."

Como para grampear, é muito fácil e mais flexível do que a adição de novos recursos para o arquivo Onet.xml de uma definição site. Este rel="noreferrer"> artigo parece uma visão muito boa das alternativas. Você pode querer fazer uma cópia da definição do site em branco, renomeá-lo, e então usar que um em seu trabalho, no entanto.

Características com páginas de conteúdo

Você vai precisar de três tipos de coisas para isso:

  1. Um arquivo feature.xml -. Apenas o material clichê que se refere ao manifesto elemento
  2. Um modelo de página -. Isso poderia ser toda a página aspx em si, ou poderia ser (por exemplo) uma casca de uma página web part com WebPartZones definido, mas há partes da web reais (ainda)
  3. O arquivo de manifesto elemento que se refere aos seus modelos de página e define todas as partes da web que devem ser provisionados como parte da ativação de sua função.

estrutura de pastas do seu recurso seria algo parecido com isto:

12
+-- TEMPLATES
    +-- FEATURES
        +-- YourFeature
            +-- PageTemplates
            |   +-- Page.aspx (simple aspx page)
            |   +-- WebPartPage.aspx (still simple, but with WebPartZones)
            +-- feature.xml
            +-- elements.xml

Feature.xml:

<Feature 
  Id="CFF117BC-9685-4a7b-88D0-523D9DAD21F0"
  Title="Custom Pages Feature"
  Scope="Web"
  xmlns="http://schemas.microsoft.com/sharepoint/">
  <ElementManifests>
    <ElementManifest Location="elements.xml"/>
  </ElementManifests>
</Feature>

Elements.xml

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Path="PageTemplates" Url="Pages" >
    <File Url="Page.aspx" Type="Ghostable" />
    <File Url="WebPartPage.aspx" Name="WebPartPage.aspx" Type="Ghostable" >
      <AllUsersWebPart WebPartZoneID="Left" WebPartOrder="0">
        <![CDATA[         
            <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2"
                     xmlns:cewp="http://schemas.microsoft.com/WebPart/v2/ContentEditor">
                <Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
                <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
                <Title>Some content that you want to provision with the feature</Title>
                <FrameType>TitleBarOnly</FrameType>
                <cewp:Content>
                  Hello world.
                </cewp:Content>
            </WebPart>
        ]]>
      </AllUsersWebPart>
    </File>
  </Module>
</Elements>

Page.aspx

<%@ Page MasterPageFile="~masterurl/default.master" 
    meta:progid="SharePoint.WebPartPage.Document"  %>
<asp:Content runat="server" ContentPlaceHolderID="PlaceHolderMain">
  Hello World
</asp:Content>

WebPartPage.aspx

<%@ Page Language="C#" MasterPageFile="~masterurl/default.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document"   %>

<%@ Register Tagprefix="WebPartPages" 
             Namespace="Microsoft.SharePoint.WebPartPages" 
             Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<asp:Content ID="main" runat="server" ContentPlaceHolderID="PlaceHolderMain" >

<table width="100%">
  <tr>
    <td valign="top" style="width:50%">
        <WebPartPages:WebPartZone ID="Left" runat="server" 
                      FrameType="TitleBarOnly" Title="Left Web Part Zone" />
    </td>
    <td valign="top" style="width:50%">
        <WebPartPages:WebPartZone ID="Right" runat="server" 
                     FrameType="TitleBarOnly" Title="Right Web Part Zone" />        
    </td>
  </tr>
</table>

</asp:Content>

Se você configurar o recurso dessa maneira, você deve ser capaz de implantar páginas de conteúdo local dentro dessa estrutura.

Além disso, eu recomendo dentro do Windows SharePoint Services livro de Ted Pattison. Abrange este tema em muitos detalhes, incluindo os aspectos importantes de segurança de páginas de conteúdo site. É facilmente vale o preço de compra.

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