ACordes
I'm new here

ContentSelect ORDERCRITERIA verhindert Ausgabe

Hallo,

ich wurde vom Kunden gerade auf ein merkwürdiges Phänomen hingewiesen. Auf der Seite existiert ein Glossar, dass logischerweise alphabetisch sortiert ist. Seit Kurzem (?) wird aber kein einziger Begriff mehr ausgegeben.

Seltsamerweise liegt es offenbar am ORDERCRITERIA-Tag. Sobald ich das entferne, werden wieder alle Begriffe ausgegeben, nur halt falsch sortiert.

Dies ist das ContentSelect:

<CMS_HEADER>

    <CMS_FUNCTION name="contentSelect" resultname="terms">

          <CMS_PARAM name="schema" value="default" />

          <QUERY entityType="glossary_terms">

               <EQ attribute="glossary_categories.fs_id" value="29366" />

               <ORDERCRITERIA attribute="title" descending="0" />

          </QUERY>

    </CMS_FUNCTION>

</CMS_HEADER>

Die Ausgabe ist dann einfach nur:

$CMS_FOR(term, terms)$

    ...

$CMS_END_FOR$

Anbei auch noch ein Screenshot vom entsprechenden Schema.

Kann mir jemand weiterhelfen?

Vielen Dank!

0 Kudos
4 Replies
broszeit
I'm new here

Welche FirstSpirit Version wird denn eingesetzt?

Lässt sich nachvollziehen in welcher Version es noch wie gewünscht funktionierte?

Ich habe es lokal in 5.0.210.55494 nachgestellt und dort, konnte ich den Fehler nicht reproduzieren.

Viele Grüße

Rouven

0 Kudos

Die Version wurde bislang nicht aktualisiert. Es ist 4.2.446.45868. Meines Wissens wurde seitdem es funktionierte gar nichts verändert.. aber das macht ja auch keinen Sinn.

0 Kudos

Ich habe gerade einen 4.2.446 Server installiert und es dort getestet, prinzipiell scheint es auch dort zu funktionieren.

Im Standard Mithras Projekt habe ich im CMS_HEADER zum Testen folgenden Code eingefügt:

<CMS_FUNCTION name="contentSelect" resultname="terms">

          <CMS_PARAM name="schema" value="Products" />

          <QUERY entityType="Gallery_Media">

               <EQ attribute="galleries.fs_id" value="896" />

               <ORDERCRITERIA attribute="Description_%lang%" descending="0" />

          </QUERY>

</CMS_FUNCTION>

Und direkt nach dem CMS_HEADER:

<ul>

          $CMS_IF(!terms.isEmpty)$

                    $CMS_FOR(term,terms)$

                              $CMS_IF(!term.Description.isEmpty)$

                                   <li>$CMS_VALUE(term.Description.substring(0,30))$</li>

                              $CMS_END_IF$

                    $CMS_END_FOR$

          $CMS_END_IF$

</ul>

Die einzigen Fehlerquellen die mir noch einfallen (nur geraten):

- war das Feld title einmal sprachabhängig oder ist es das geworden?

- kann es sein, dass der Code im CMS_FOR Probleme bereitet? - also, dass der Body sogar ausgeführt wird

- irgendwelche Probleme/Umbenennungen im Datenbank-Schema oder Inkonsistenzen in der Datenbank?

Da ich es nicht nachstellen kann, ist das Problem aus der Ferne leider sehr schwierig zu diagnostizieren,

Als Workaround könnte die nachträgliche Sortierung mit der sort() Methode helfen:

https://community.e-spirit.com/message/14644#14644

Viele Grüße

Rouven

0 Kudos

Hallo Arne,

hat Dir die Antwort von Rouven weitergeholfen, so dass dieser Thread geschlossen werden kann oder benötigst du noch weitere Antworten?

Viele Grüße

René

0 Kudos