Fermer

mai 22, 2020

Sitecore Powershell 5: Utilisation des rendus5 minutes de lecture

Sitecore Powershell 5: Utilisation des rendus


Les rendus sont l'une des parties les plus importantes de la présentation Sitecore. Avec Sitecore Powershell, nous pouvons extraire des informations sur les rendus attachés à un élément particulier. Voyons différentes commandes qui peuvent être utilisées pour extraire et manipuler les informations de rendu d'un élément.

Get-Rendering

Grâce à cette commande, nous pouvons obtenir les informations sur tous les rendus affectés à une présentation d'éléments. Nous pouvons spécifier Path, ID ou un objet Item dans cette commande à partir de laquelle nous voulons extraire les informations de rendu. Nous pouvons également spécifier Layout Device à l'aide de Get-LayoutDevice pour obtenir des informations sur le périphérique. Voici la commande que nous allons exécuter:

 $ deviceObj = Get-LayoutDevice -Default

Get-Rendering -Path "master: / sitecore / content / Events / Home Page / Events / Climbing / Climb Mount Everest" -Device $ deviceObj -FinalLayout 

L'élément qui réside dans le chemin ci-dessus a les rendus suivants:

  1. RelatedEvents
  2. SideContent
  3. EventIntro
  4. PageContent

Sortie après exécution du script ci-dessus:

 Image1

Vous pouvez voir que les informations dans la sortie ont de nombreuses propriétés comme ItemID, OwnerItemID, Datasource, Placeholder, etc.

Il s'agit des informations spécifiques à la présentation sur les rendus attachés à notre élément de page.

Formatons ceci informations à l'aide de la commande Format-Table:

 $ deviceObj = Get-LayoutDevice -Default
$ resultObj = @ ()
Get-Rendering -Path "master: / sitecore / content / Events / Home Page / Events / Escalade / Montez l'Everest" -Device $ deviceObj -FinalLayout | Pour chaque {
$ renderItem = Get-Item -Path master: -ID $ _. ItemID

$ Obj = @ {
RenderingName = $ rendusItem.Name
Espace réservé = $ _. Espace réservé
PageItem = $ _. OwnerItemID
}

$ resultObj + = Psobject New-Object -Property $ Obj
}

$ resultObj | Format-Table RenderingName, Placeholder, PageItem 

Sortie du script ci-dessus:

 Image2

Ici,

@ () -> initialise et tableau vide

@ {} -> utilisé pour créer une table de hachage (supposons un objet anonyme de paire clé-valeur)

New-Object psobject -Property $ Obj -> Cette ligne crée un nouvel objet de type psobject from notre table de hachage créée à partir de @ {} et l'ajoute à notre tableau de résultats

Enfin, nous utilisons notre resultObj comme entrée dans Format-Table.

 Sitecore - Comprendre les approches de développement: une perspective Sitecore

Set-Rendering

Cette commande est utilisée pour mettre à jour les informations relatives au rendu dans la présentation d'un élément. Pour cela, nous aurons d'abord besoin de l'élément de rendu, que nous pouvons obtenir à l'aide de la commande Get-Rendering.

Voyons comment nous pouvons changer les propriétés de rendu d'un élément:

Le script suivant changera l'espace réservé de tous les rendus dans l'espace réservé "PageSide" vers "main".

 $ path = "master: / sitecore / content / Events / Home Page / Events / Climbing / Climb Mount Everest"
$ deviceObj = Get-LayoutDevice -Default
Get-Rendering -Path $ path -Device $ deviceObj -FinalLayout -PlaceHolder "pageSide" | Pour chaque{
$ _. Placeholder = "main"
Set-Rendering -Path $ path -Instance $ _
} 

Sortie de ce qui précède:

 Image3

Voir l'espace réservé a été changé en "principal". Nous avons utilisé le paramètre -Instance pour passer des objets de rendu mis à jour. Dans notre cas, nous avons utilisé ForEach pour parcourir tous les rendus dans l'espace réservé "pageSide", donc chaque itération a été capturée dans l'objet $ _. Que nous avons utilisé pour mettre à jour l'espace réservé et le transmettre à -Instance .

Ajout de rendu

Cette commande est utilisée pour ajouter un rendu à la présentation d'un élément. Nous utiliserons la commande New-Rendering pour créer un objet de rendu attachable de présentation à partir de l'élément Définition de rendu.

Voici le script pour ajouter un rendu avec l'ID {13AAD693-D140-4054-840D-4F9DABF681D3} à la " À propos de nous » présentation finale de l'élément de page.

Voici le script:

 $ renderItemID =" {13AAD693-D140-4054-840D-4F9DABF681D3} ""

$ render = Get-Item -Path "master:" -ID $ renderItemID | Nouveau rendu - Placeholder "pageSide"

$ rendus.Datasource = "{60F991D6-9172-4456-A5F9-908E3DDA0A51}"

$ item = Get-Item -Path "master: / sitecore / content / Events / Home Page / À propos de nous"

Add-Rendering -Item $ item -PlaceHolder "pageSide" -Instance $ rendering -FinalLayout 

Ici, nous spécifions également la source de données à l'aide de $ render.Datasource.

Sortie du script ci-dessus:

 Image4

Vous pouvez voir que notre rendu a été ajouté à la présentation de À propos de nous article .

Remove-Rendering

Comme son nom l'indique, il supprimera les rendus de la présentation de l'élément spécifié dans la commande. La plupart des paramètres comme -Placeholder, -Device, -Datasource, -Instance, -Parameter, etc. serviront de critères de filtre pour la suppression des rendus.

Le script suivant supprime les rendus de la disposition finale assigné à pageSide espace réservé:

 $ item = Get-Item -Path "master: / sitecore / content / Events / Home Page / About Us"

#Supprime les rendus attribués à l'espace réservé pageSide
Remove-Rendering -Item $ item -Placeholder "pageSide"

Get-Rendering -Item $ item -FinalLayout 

Sortie du script ci-dessus:

 Image5

La sortie est vide car la commande Get-Rendering n'a trouvé aucun rendu affecté à l'élément About Us car nous avons supprimé les rendus précédemment attribués à l'aide de Remove-Rendering

Dans cet article, nous avons vu comment utiliser différentes commandes Sitecore Powershell pour travailler avec les rendus. Dans le prochain article, nous verrons le concept d'extraction des informations de référence d'élément à l'aide de Sitecore Powershell et comment nous pouvons les utiliser pour obtenir tous les éléments qui font référence à un élément particulier.

À propos de l'auteur

Ramakant Chandel travaille comme un professionnel de Sitecore. Il aime explorer de nouveaux concepts techniques stimulants dans Sitecore. Il est passionné de partager ses connaissances avec tout le monde.

Plus de contenu de cet auteur





Source link

0 Partages