2009-06-26 7 views
0

J'utilise VSeWSS 1.3 à pour créer une définition de liste personnalisée portée à 'Site'.Installer un fichier ASPX personnalisé dans le cadre d'une définition ListTemplate

<Elements Id="8924acef-84ef-4584-ade4-e3eaeb8df345" xmlns="http://schemas.microsoft.com/sharepoint/"> 

    <ListTemplate Name="MyListDefinition" 
       DisplayName="MyList" 
       Description="" 
       BaseType="0" 
       Type="10888" 
       OnQuickLaunch="TRUE" 
       SecurityBits="11" 
       Sequence="410" 
       Image="/_layouts/images/itgen.gif" /> 

    <CustomAction 
    Id="MyList.Print" 
    Location="Microsoft.SharePoint.StandardMenu" 
    GroupId="ActionsMenu" 
    Title="Print MyItem" 
    Description="Print Empty copies of this form." 
    RegistrationType="List" 
    ControlAssembly="MyList, Version=1.0.0.0, Culture=neutral, PublicKeyToken=de6e0316a726abcd, processorArchitecture=MSIL" 
    ControlClass="MyList.PrintActionMenu" /> 

    <Module Name="ActionPages" Url=""> 
    <File Url="PrintForm.aspx" Type="Ghostable" Path="MyListDefinition\PrintForm.aspx" /> 
    </Module> 
</Elements> 

Le fichier 'PrintForm.aspx' est correctement installé sur le serveur sous ... \ 12 \ TEMPLATE \ Caractéristiques ..., mais il ne se présente pas sous l'URL attendue http://localhost/site/lists/listname/PrintForm.aspx après l'installation du modèle de liste et la création d'une nouvelle instance de liste à l'aide de ce modèle.

Je soupçonne qu'il me manque les propriétés correctes dans les balises et/ou dans mon fichier ListDefinition.xml (illustré ci-dessus).

+0

Une partie du code dans votre message est manquante, pls edit. – Colin

+0

Duh, j'ai oublié d'étendre toute la section du code avant de le formater. –

Répondre

0

Vous devez également avoir un schema.xml et dans le schema.xml il devrait y avoir quelque chose comme ceci:

<Forms> 
    <Form Type="DisplayForm" Url="DispForm.aspx" WebPartZoneID="Main" /> 
    <Form Type="EditForm" Url="EditForm.aspx" WebPartZoneID="Main" /> 
    <Form Type="NewForm" Url="NewForm.aspx" WebPartZoneID="Main" /> 
    ...... your form here 
</Forms> 

post-scriptum essayez le générateur de solution SharePoint pour exporter une liste existante (fournie avec VSeWSS), cela vous donnera une définition XML complète. Vous pouvez l'utiliser comme référence.

P.P.S. dans le lien affiché dans le commentaire, il indique que les fichiers doivent être enregistrés dans la fonction comme ceci:

<ElementFile Location="GenericList\schema.xml" /> 
<ElementFile Location="GenericList\DispForm.aspx" /> 
<ElementFile Location="GenericList\EditForm.aspx" /> 
<ElementFile Location="GenericList\NewForm.aspx" /> 
<ElementFile Location="GenericList\AllItems.aspx" /> 
+0

Quelle est la valeur de l'attribut Type? –

+0

Je ne suis pas sûr. ajoutez votre formulaire à une liste, puis utilisez SSG pour désosser le xml nécessaire. Aussi, SPSource peut faire la même chose ... – Colin

+0

aussi, vérifiez ceci: http://www.sharepointdevwiki.com/display/public/Creating+a+List+Template+within+a+Feature – Colin

0

Si elle est partout, je me attends PrintForm.aspx à apparaître dans le dossier racine de votre site Web lorsque la L'URL de votre élément Module est vide. Essayez ceci:

<Module Name="ActionPages" Url="lists/listname">  
     <File Url="PrintForm.aspx" Type="GhostableInLibrary" Path="MyListDefinition\PrintForm.aspx" /> 
    </Module> 

Essayez également GhostableInLibrary au lieu de Ghostable comme type de fichier.

Enfin, vous mentionnez que PrintForm.aspx apparaît quelque part dans les fonctionnalités, mais n'a pas indiqué le chemin complet. Assurez-vous qu'il est dans ... \ 12 \ TEMPLATE \ Features \ YourFeaturesName \ MyListDefinition \ PrintForm.aspx. En fonction de la valeur de l'attribut Path, PrintForm.aspx doit se trouver dans un répertoire nommé MyListDefinition dans votre Feature.

Questions connexes