Obtention de composants dynamiques en tant qu'objets de données et interception de ceux-ci au moment de l'exécution - ASP Java - Tridion 2011


0

Je travaille sur un site avec beaucoup de trafic, et nous essayons d'éviter les requêtes de courtier sur les métadonnées. causé une surcharge du serveur. J'essaye de construire un système dynamique d'offres et d'incitations, qui rend le contenu d'offre basé sur une variable d'URL dans diverses zones de certaines pages, en utilisant des insertions dynamiques de modèle de composant. Pour contourner le problème de chargement, je veux utiliser une approche dans laquelle nous stockons toutes les offres dans un composant, puis nous obtenons ce composant par ID au moment de l'exécution, et parcourons les offres, vérifiant si chacun est applicable compte tenu de la variable URL.

Le problème est que je n'ai pas trouvé un moyen d'obtenir un composant par id en tant qu'objet de données et de l'interoguer. Je dois pouvoir obtenir la liste des identifiants de la collection, puis obtenir les différents champs de ces composants.

Comment voulez-vous faire cela? Je ne trouve aucune documentation pour cela. Toutes mes excuses si cela est simple, je subis beaucoup de pression et je n'ai pas beaucoup d'expérience avec Tridion.

Nous utilisons ASP Java dans Tridion 2011 SP1

Merci

0

Bienvenue dans le monde merveilleux de Tridion. Le contenu d'une présentation de composant est déterminé par le modèle utilisé dans Tridion CM. Dans les implémentations plus "traditionnelles", vous constaterez que le contenu d'un composant est en fait une représentation HTML du contenu, qui ne correspond pas vraiment à vos besoins.

Les solutions modernes avec Tridion, comme DD4T ou DXA, utilisent des modèles de composants qui poussent ce contenu sous la forme d'un format de données structuré (XML ou JSON, selon la version) qui répond à vos besoins. L'adoption de ces cadres pour votre mise en œuvre serait trop longue, compte tenu de l'urgence de votre message, mais vous pourriez suivre une approche similaire.

  1. Définissez un schéma dans CM où le contenu dont vous avez besoin peut être stocké.
  2. Créez un modèle de composant (associé à ce schéma) qui peut publier le contenu tel quel (XML) ou le transformer en JSON (voici un bon exemple de such a template). Marquez ce modèle comme dynamique, afin que les composants puissent être publiés par eux-mêmes, sans conteneur de page.
  3. Chargez la présentation du composant dans votre application Web, désérialisez-la, faites votre travail.