Fermer

mai 14, 2020

Sitecore Powershell 2: récupération des informations sur les éléments


Dans mon dernier message j'ai donné un aperçu de Sitecore Powershell et comment installer l'extension Sitecore Powershell. Sitecore Powershell peut également être utilisé pour travailler avec des éléments Sitecore. Dans ce blog, nous verrons comment nous pouvons l'utiliser pour récupérer des informations sur les éléments de notre arborescence de contenu. Nous utiliserions les applets de commande Get-item et Get-ChildItem .

Une applet de commande est une commande légère utilisée dans l'environnement PowerShell. Il agit comme un script Powershell léger qui exécute une action spécifique.

Ci-dessous est l'image de la structure de mon site:

 Eventnode

Maintenant, ouvrons le Powershell ISE et commencer à créer notre script.

Utilisation de l'applet de commande Get-Item

  1. Utilisée pour récupérer un seul élément.
  2. Nous utiliserons -Path, -Language and -Version
  3. -Path est utilisé pour spécifier le chemin d'accès de l'élément que nous voulons récupérer.
  4. -Language est utilisé pour spécifier la version linguistique de l'élément que nous voulons récupérer.
  5. -Version est utilisé pour spécifier la version numérotée d'un élément que nous voulons récupérer.

Obtenir des informations sur un seul élément à l'aide de Get-Item

Écrivez la commande Get-Item comme indiqué ci-dessous et transmettez le chemin de votre élément, comme j'ai transmis le chemin vers mon élément d'événements.

 Get-Item -Path "master:  content  events" 

Après avoir écrit cette commande et spécifié le chemin d'accès à votre élément, cliquez sur le bouton Exécuter dans la barre d'outils . Voici la sortie que j'ai obtenue après l'exécution.

 Getitemevent

Remarque : Vous aurez besoin d'un accès / connexion élevé pour exécuter les scripts.

Obtenir la version linguistique d'un élément

Nous pouvons utiliser – Langue pour spécifier la version linguistique d'un élément particulier que nous voulons récupérer. Voici la commande que j'ai utilisée pour obtenir la version allemande de mon élément d'événements.

 Get-Item -Path master:  content  events -Language de-DE 

Je peux voir les informations ci-dessous après l'exécution .

 Getitemlang

Vous pouvez voir que je reçois à la fois la version anglaise et la version allemande de mon élément d'événement. En effet, Execute fonctionne sur l'ensemble du script et non sur une seule instruction. Ainsi, il exécutera nos deux instructions.

Si nous voulons que notre deuxième instruction soit exécutée, nous devons sélectionner l'instruction et utiliser le bouton Sélection pour l'exécuter. L'utilisation du bouton Sélection a produit la sortie ci-dessous:

 Sélection "width =" 925 "height =" 406 "srcset =" https://i0.wp.com/blogs.perficient. com / files / Selection.png? w = 925 & ssl = 1 925w, https://i0.wp.com/blogs.perficient.com/files/Selection.png?resize=300%2C132&ssl=1 300w, https: // i0.wp.com/blogs.perficient.com/files/Selection.png?resize=768%2C337&ssl=1 768w, https://i0.wp.com/blogs.perficient.com/files/Selection.png?resize = 500% 2C219 & ssl = 1 500w, https://i0.wp.com/blogs.perficient.com/files/Selection.png?resize=800%2C351&ssl=1 800w, https://i0.wp.com/blogs .perficient.com / files / Selection.png? resize = 750% 2C329 & ssl = 1 750w, https://i0.wp.com/blogs.perficient.com/files/Selection.png?resize=600%2C263&ssl=1 600w , https://i0.wp.com/blogs.perficient.com/files/Selection.png?resize=640%2C281&ssl=1 640w "tailles =" (largeur max: 925px) 100vw, 925px "data-recalc- dims = "1" /></p data-recalc-dims=

Obtenir une version numérotée spécifique d'un article

Nous pouvons utiliser – Version pour spécifier quelle version numérotée nous voulons pour un article. Spécifiez le numéro après – Version. Ce qui suit récupérera la version 2 de notre élément d'événements:

 Get-Item -Path master:  content  events -Version 2 

La sortie est la suivante:

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

 Getitemnumberversion

Obtenez toutes les versions linguistiques et numérotées d'un élément

Nous pouvons utiliser * après les deux – Langue et -Version dans notre pour obtenir toutes les versions linguistiques ou numérotées. Nous pouvons également utiliser à la fois – Language et -Version dans notre commande en même temps pour obtenir chaque version de notre article:

 Get-Item -Path master:  content  events -Language * -Version * 

Ci-dessous se trouve la sortie pour exécuter la commande ci-dessus:

 Getitemversionall

Obtenir un élément à l'aide de l'ID

Vous pouvez également récupérer un élément en transmettant l'ID à Obtenir l'article. Voici la syntaxe pour le faire:

 Get-Item -Path master: -ID "SpecifyYouIDHere" 

Voici la sortie lorsque je spécifie l'ID de mon page d'accueil élément: [19659002]  Getitemid

Utilisation de l'applet de commande Get-ChildItem

Nous pouvons utiliser Get-ChildItem pour obtenir une liste des éléments enfants d'un noode que nous spécifierons en utilisant – Chemin . Voici la commande qui récupérera les éléments enfants de mon nœud d'événements.

 Get-ChildItem -Path master:  content  events 

Voici la sortie après exécution:

 Getchilditem

Vous pouvez voir qu'il n'a récupéré que les enfants de premier niveau du nœud Events. Si nous voulons une liste des enfants et petits-enfants d'un article, nous devons ajouter -Recurse.

 Get-ChildItem -Path master:  content  events -Recurse 

Ci-dessous la sortie:

 Getchilditemrecurse

[19659015] Formater la vue de sortie

Nous pouvons formater la sortie pour inclure les informations souhaitées. Nous utiliserons Pipe (|) pour y parvenir. Nous utilisons | pour spécifier que le résultat de la première instruction sera utilisé comme entrée pour la seconde qui vient après |

Nous allons formater notre sortie pour inclure DisplayName, la création d'horodatage, TemplateName et le champ ContentHeading. Voici la commande pour le faire:

 Get-ChildItem -Path master:  content  events | Format-Table -Property DisplayName, ContentHeading, Created, TemplateName 

Découvrez comment nous avons utilisé Pipe (|) dans la commande ci-dessus. Cela fonctionne comme ceci – Utilisez la sortie de l'applet de commande Get-ChildItem avant | comme entrée à l'applet de commande Format-Table.

Ainsi, la liste d'enfants du nœud Events est utilisée comme entrée dans la commande Format-Table qui utilise des arguments -Property pour filtrer les champs qui seront inclus dans la table de sortie.

Ci-dessous est la sortie après avoir exécuté la commande ci-dessus:

 Formatable

Compter les objets dans le jeu de résultats

Nous pouvons utiliser Measure-Object pour obtenir le nombre total d'objets dans le jeu de résultats renvoyé. En utilisant l'instruction suivante, je peux obtenir le nombre d'éléments dans notre jeu de résultats:

 Get-ChildItem -Path master:  content  events -Recurse | Measure-Object 

Output:

 Measureobject

Dans cet article, nous avons vu comment récupérer un élément particulier en utilisant le chemin d'accès ou l'ID , comment récupérer une liste d'enfants et comment formater la sortie en fonction de nos besoins. Dans le prochain blog, nous explorerons comment accéder aux champs et parcourir chaque élément de la liste des enfants.






Source link