SchemaTitleCriteria liefert keine Ergebnisse in SDL Tridion Broker Query

8

Ich habe eine einfache SDL Tridion 2011 SP1 Broker-Abfrage, um eine Liste von Komponenten-URIs abzurufen. Alle meine Komponenten sind in Pages eingebettet und verwenden keine dynamischen Komponentenvorlagen. Der folgende Code gibt 50 Ergebnisse zurück (was zu erwarten ist). Einer davon ist der URI tcm: 123-456-16.

%Vor%

Die Komponente tcm: 123-456-16 basiert auf einem Schema mit dem Namen "News Portal". Ich möchte meiner Abfrage zusätzliche Kriterien hinzufügen, damit ich nur Elemente auf Grundlage dieses Schemas erhalte, also habe ich den folgenden Code ausprobiert:

%Vor%

Dies liefert überhaupt keine Ergebnisse. Ich habe meinen Schema-Namen überprüft. Wird diese Antwort erwartet? Erfordert die SchemaTitleCriteria , dass die Komponenten als dynamische Komponentenpräsentationen veröffentlicht werden. Jeder Rat würde sehr geschätzt werden.

    
Chris Summers 25.01.2013, 21:32
quelle

2 Antworten

13

Ja und Nein bei DCPs. Sie müssen nicht alle Ihre Komponenten als Dynamic Component Presentations (DCPs) veröffentlichen. Wir haben das gleiche bemerkt und festgestellt, dass, wenn Sie nicht mindestens ein DCP basierend auf dem Schema veröffentlichen, der Schema-Titel nicht in der Schemas-Tabelle der Tridion Broker DB veröffentlicht wird (nicht sicher, dass es vom Entwurf her ist). Sobald Sie ein DCP basierend auf dem Schema veröffentlichen, wird der Schematitel gespeichert und nachfolgende Abfragen funktionieren, aber bis Sie das erste veröffentlichen, werden Sie keine erhalten.

Im praktischen Szenario vermitteln Sie jedoch Abfragen, um die dcps zu erhalten, so dass Sie dieses Verhalten nur mit einem Fehler sehen sollten oder jemand es übersehen hat.

    
Kaylan 25.01.2013, 21:52
quelle
11

Warum sollte die Komponente in der ersten Ergebnismenge vorhanden sein, aber nicht in der zweiten?

Ich vermute, dass dies unbeabsichtigtes Verhalten ist und es sich lohnt, mit SDL zu erhöhen.

Um es zu beheben, müssen Sie ItemSchemaCriteria anstelle von SchemaTitleCriteria verwenden und die Komponenten basierend auf der Schema-ID und nicht mit dem Schematitel abrufen.

Um SchemaTitleCriteria zu verwenden, sollte ich mir vorstellen, dass Sie mindestens eine Komponente basierend auf dem Nachrichtenportal-Schema über eine dynamische Komponentenvorlage hinaus veröffentlichen müssen, damit die Inhaltszustelldatenbank die Schematitelinformationen enthält.

    
johnwinter 25.01.2013 21:37
quelle