2009-06-26 6 views
0

Ich verwende VSeWSS 1.3 bis Erstellen Sie eine benutzerdefinierte Liste Definition Bereich "Site".Installieren Sie eine benutzerdefinierte ASPX-Datei als Teil einer ListTemplate-Definition

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

Die Datei 'PrintForm.aspx' korrekt auf dem Server unter installiert ist ... \ 12 \ Template \ Features ..., aber es zeigt nicht unter der erwarteten URL up http://localhost/site/lists/listname/PrintForm.aspx nach der Installation der Listenvorlage und dem Erstellen einer neuen Listeninstanz mit dieser Vorlage.

Ich vermute, dass ich die richtigen Eigenschaften in den und/oder Tags in meiner ListDefinition.xml-Datei (siehe oben) fehlt.

+0

Ein Teil des Codes in Ihrem Beitrag fehlt, bitte bearbeiten. – Colin

+0

Duh, habe vergessen, den ganzen Codeabschnitt zu überspannen, bevor ich ihn formatiere. –

Antwort

0

Sie sollten auch eine schema.xml haben und in der schema.xml sollte es so etwas wie dieses:

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

P. S. Versuchen Sie den SharePoint Solution Generator, um eine vorhandene Liste (kommt mit VSeWSS) zu exportieren, es gibt Ihnen eine vollständige XML-Definition. Sie können das als Referenz verwenden.

P.P.S. in dem Link in dem Kommentar gepostet es heißt, dass Dateien sollten wie so in der Funktion registriert werden:

<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

Was ist der Wert für das Type-Attribut? –

+0

Nicht sicher. Fügen Sie Ihr Formular zu einer Liste hinzu und verwenden Sie dann SSG, um das benötigte XML zurückzuentwickeln. SPSource kann das gleiche ... – Colin

+0

auch, überprüfen Sie dies: http://www.sharepointdevwiki.com/display/public/Creating+a+List+Template+within+a+Feature – Colin

0

Wenn es überall ist, würde ich PrintForm.aspx erwartet im Stammordner Ihrer Website zu zeigen, wenn die Die URL Ihres Modulelements ist leer. Versuchen Sie Folgendes:

Versuchen Sie auch GhostableInLibrary anstelle von Ghostable als Dateityp.

Schließlich erwähnen Sie, dass PrintForm.aspx irgendwo in Features angezeigt wird, aber nicht den vollständigen Pfad angegeben. Stellen Sie sicher, dass es in ... \ 12 \ TEMPLATE \ Features \ YourFeaturesName \ MyListDefinition \ PrintForm.aspx ist. Basierend auf dem Wert des Path-Attributs muss sich PrintForm.aspx in einem Verzeichnis mit dem Namen MyListDefinition in Ihrem Feature befinden.