Question

Je déploie une apparence composée à partir du serveur (y compris les fichiers .spcolor, .spfont, master.html et master.preview), mais je n'arrive pas à sélectionner le champ Fichier associé.J'ai essayé de le définir uniquement dans le elements.xml fichier ainsi que le fichier du récepteur d'événements FeatureActivated événement.

Éléments.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>

Et le 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
    }
}

Note:J'ai omis d'autres codes non pertinents.

Était-ce utile?

La solution

Ok, apparemment, j'essaie de définir le terrain HtmlDesignAssociated du elements.xml Le fichier dans un module ne fonctionnera pas.

Une fois que je l'ai retiré, le code du récepteur d'événement a fonctionné et mon master.html le fichier a maintenant un associé master.master.

J'ai un peu modifié le code pour l'utiliser SPUrlUtility.CombineUrl au lieu de web.GetList ou web.Lists.TryGetList("whatever").Voici le code qui fonctionne :

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();
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top