Fermer

juillet 25, 2022

Comment obtenir une liste des propriétés d’un type de contenu défini dans Optimizely

Comment obtenir une liste des propriétés d’un type de contenu défini dans Optimizely


Les propriétés sont simplement des champs utilisés pour créer un type de contenu dans Optimizely. Dans ce blog, nous apprendrons comment obtenir une liste des propriétés d’un type de contenu spécifique défini dans Optimizely. Ces propriétés peuvent être du texte simple, du texte enrichi, des images, des liens, etc.

Contenu

Dans Optimizely CMS, le premier terme que vous entendrez est contenu. Le contenu est comme éléments dans Sitecore.

Type de contenu

Les différents types de contenu pourraient être de taper page, bloc, média, vidéo, image ou un type personnalisé.

IContentTypeRepository

Pour obtenir une liste de tous les types de contenu disponibles définis dans le projet Optimizely CMS, nous aurons d’abord besoin d’une instance de IContentTypeRepository, car il s’agit de l’API principale pour accéder aux méthodes du référentiel.

Grâce à l’instance de référentiel de type de contenu, nous pouvons effectuer des opérations CRUD (créer, lire, mettre à jour et supprimer) sur le contenu. Alternativement, si vous n’avez besoin que d’un accès en lecture seule, utilisez le IContentLoader exemple.

var repository = ServiceLocator.Current.GetInstance<IContentTypeRepository>();

La méthode list() répertorie tous les types de contenu disponibles (bloc, média, page, image, vidéo) dans le référentiel.

var contentTypeList = repository.List();

type de contenu

Pour obtenir le type de contenu de bloquer ou page type, nous pouvons filtrer la liste en passant le type de contenu.

var pageTypes = repository.List().OfType<PageType>();

var blockTypes = repository.List().OfType<BlockType>();

En passant Type de page en paramètre, on aura tout le contenu de la page type.

Types de page

Pour obtenir un type de contenu spécifique, utilisez la méthode Load() sur l’instance du référentiel. Les méthodes Load() ont des surcharges et nous pouvons obtenir le type de contenu spécifique en passant Id, Guid, ContentType ou Name comme paramètre.

var contentType = repository.Load<LocationItemPage>();

Dans les solutions qui ne font pas référence à l’exemple de projet Optimizely CMS, un bibliothèque de classe de rasoir projet. Le type de contenu spécifique n’est pas accessible, ce qui est présent dans Optimizely Project. Dans un tel scénario, nous pouvons utiliser le Guid ou l’Id enregistré dans le fichier de constantes globales.

var contentTypeById = contentTypeRepository.Load(contentTypeId);

Page d'élément d'emplacement

Définitions de propriété

Renvoie une collection de propriétés contenant toutes les propriétés définies dans un type de contenu spécifique.

var properties = contentType.PropertyDefinitions;

LocationItemPage contient quarante et une propriétés.

Optipropriétés

Obtenir des noms de propriété

Nous pouvons récupérer les propriétés et les enregistrer dans la liste. on peut utiliser Modifier la légende propriété pour obtenir afficher les noms de propriétés. Si l’on a besoin de noms de propriété réels, utilisez Nom propriété.

List<string> Properties = new List<string>();

foreach (var property in properties)
{
string propertyName = property.EditCaption;
Properties.Add(propertyName);
}

Propriétés

Vous pouvez explorer davantage Définitions de propriété classe car elle donne accès à d’autres propriétés et méthodes qui peuvent être utiles dans le développement.

Bon apprentissage!






Source link