SharePoint 2013 : Mettre à jour un type de contenu via PowerShell

Comment peut-on mettre à jour un modèle de page basé sur un type de contenu personnalisé dans SharePoint 2013?

Nous sommes ici sur un site de publication Sharepoint 2013.
Voici le type de contenu : TypeContenuCellenza
Il hérite du type de contenu « page » et a un champ « HTML 1 » de type Html de publication.

O3

Voici à quoi ressemble la page en mode édition :

Nous avons bien la zone HTML 1.

o4

Nous souhaitons ajouter une nouvelle zone « HTML 2 » à notre page.

Il nous faudra d’abord mettre à jour le type de contenu associé au modèle de page.
Avec ce script PowerShell, je peux ajouter ou supprimer une colonne à mon type de contenu existant :

param (
param (
[parameter(Mandatory=$true)] [string]$UpgradeType = $(throw "-UpgradeType est requis. ex: '-UpgradeType ajout' pour un ajout de colonne ou bien '-UpgradeType supp' pour une suppression"),
[parameter(Mandatory=$true)] [string]$webUrl = $(throw "-webUrl est requis."),
[parameter(Mandatory=$true)] [string]$contentType = $(throw "-contentType est requis."),
[parameter(Mandatory=$true)] [string]$colonne = $(throw "-colonne est requis"))
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
$web = Get-SPWeb $webUrl
$ct = $web.ContentTypes[$contentType]
$ct.FieldLinks[$colonne]
if($UpgradeType	-eq "ajout") {	
    Write-Host Ajout de la colonne
    $fields = $Web.Fields
    $field = $fields.GetFieldByInternalName($colonne)
    $ct.FieldLinks.Add($field)
}
if($UpgradeType	-eq "supp") {	
    Write-Host Suppression de la colonne
    $ct.FieldLinks.Delete($colonne)
}
$ct.Update($true)
$web.Dispose()

Le script powerShell est paramétrable :

  • UpgradeType permet de renseigner le type de mise à jour désirée (ajout ou suppression).
  • webUrl permet de renseigner l’url du site sur lequel faire la maj.
  • contentType permet de renseigner le nom du type de contenu à mettre à jour.
  • colonne permet de renseigner le nom interne de la colonne à ajouter ou supprimer.

Une fois la mise à jour faite, vérifions notre type de contenu dans les paramètres du site…

O5

… Mais aussi dans les paramètres de la liste Pages où se trouve celle qui se base sur notre type de contenu.

o6

Une fois le type de contenu à jour, il nous reste à actualiser le modèle de page en suivant cet article.

Une fois le modèle mis à jour, nous avons bien notre page avec le nouveau champs html.

o7

Pas de commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *