Frage

Ich stelle einen zusammengesetzten Look vom Server bereit (einschließlich der Dateien .spcolor, .spfont, master.html und master.preview), aber ich kann das Feld „Zugehörige Datei“ nicht auswählen.Ich habe versucht, es einfach so einzustellen elements.xml Datei sowie die des Ereignisempfängers FeatureActivated Ereignis.

Elements.xml:

<File Path="Master\corporate.html" Url="corporate.html" Type="GhostableInLibrary" ReplaceContent="True">
  <Property Name="ContentType" Value="Html Master Page"></Property>
  <Property Name="UIVersion" Value="15"></Property>
  <Property Name="HtmlDesignAssociated" Value="TRUE"></Property>
  <Property Name="FSObjType" Value="0"></Property>
</File>

Und der Code-Behind:

SPList masterGallery = web.Lists.TryGetList("Master Page Gallery");
SPListItemCollection masterItems = masterGallery.Items;

for (int m = 0; m < masterItems.Count; m++)
{
    SPListItem page = masterItems[m];
    if(page["Name"].ToString() == "corporate.html")
    {
        page["HtmlDesignAssociated"] = true;
        page.Update(); // forgot to include this line
    }
}

Notiz:Ich habe anderen irrelevanten Code weggelassen.

War es hilfreich?

Lösung

Ok, ich versuche offenbar, das Feld festzulegen HtmlDesignAssociated von dem elements.xml Datei in einem Modul funktioniert nicht.

Nachdem ich das herausgenommen hatte, funktionierte der Code im Ereignisempfänger und mein master.html Datei hat jetzt eine zugeordnete Datei master.master.

Ich habe den Code ein wenig geändert, um ihn nutzen zu können SPUrlUtility.CombineUrl anstatt web.GetList oder web.Lists.TryGetList("whatever").Hier ist der Code, der funktioniert:

var masterGallery = SPUrlUtility.CombineUrl(relativePath, "_catalogs/masterpage");
SPList master = web.GetList(masterGallery);
SPListItemCollection masterItems = master.Items;

for (int m = 0; m < masterItems.Count; m++)
{
    SPListItem page = masterItems[m];
    if (page["Name"].ToString() == "corporate.html")
    {
        page["HtmlDesignAssociated"] = true;
        page.Update();
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top