M_Assmann
I'm new here

Zähler in einer Liste

Hallo Community,

ich habe ein Problem mit einem Zähler in der Liste bzw. der Zähler fängt immer mit 15 an,

obwohl ich in der Formatvorlage "standard" den Zähler auf  0 gesetzt habe. Der Zähler wird benötigt um in der Liste die Ebenen zu zählen.

Was läuft in der Formatvorlage "liste" nicht richtig?

Fomatvorlage: liste

vor:$CMS_VALUE(#global.pageContext["set_counterList"])$

<$CMS_VALUE(set_tag)$$CMS_IF(#global.pageContext["set_counterList"] == 0)$ class="$CMS_IF(st_un_sortiert_liste.toString == "Seriell")$seriellList $CMS_END_IF$default"$CMS_END_IF$>

$CMS_VALUE(#content)$

$CMS_SET(#global.pageContext["set_counterList"],#global.pageContext["set_counterList"]+1)$

</$CMS_VALUE(set_tag)$>

hier ein Auszug von der Liste:

Hier erfolgt jetzt eine sortierte Liste

vor:0   / Ausgabe-Zähler 0

  1. Hallo hier ist der erste Teil
  2. jaslkjfddasflkj
  3. von 4 oder mehr Teile ghjghj
  4. lkjadsflkj
  5. vor:15  / hier Ausgabe-Zähler 15- obwohl er nur 1 (eine Ebene) haben sollte.
    1. Teil Nummer 2
    2. sdfsdf
    3. Teil Nummer 2a
    4. vor:22 / usw......
0 Kudos
13 Replies
kohlbrecher
Crownpeak employee

Hallo,

ich habe probiert das Problem zu reproduzieren. Bei mir kam es allerding zu dem gewünschten Ergebnis. Die einzige Anpassung die ich gemacht habe war, dass ich das Erhöhen der Variablen vor die Ausgabe des Inhalts gepackt habe, da mir sonst immer "0" ausgegeben wurde.

Handelt es sich bei dem Formatvorlage um den kompletten Quelltext? Gibt es auf der Seite noch mehr Listen und fängt der Zähler immer bei 15 an, auch wenn die Liste verändert wird?

0 Kudos

Hallo,

vielen Dank für die schnelle Antwort.

Leider scheint es in meinem Beispiel nicht ersichtlich zu sein, das es sich um zwei verschachtelte Listen handelt.

Nein, es fängt nicht immer mit 15 an. In meinen letzten Test hat sich ergeben, dass die Zahl auch unterschiedlich sein kann. Jedoch ist es nicht ersichtlich, wovon dieser Wert abhängig ist.

Bei dem Quelltext der Formatvorlage handelt es sich um die Vorlage für das Template "LISTE". In der Vorlage Listeneintrag - oder einem andern Template - wird kein Einfluß auf die Variable genommen

Der Zähler fängt auch für jede Liste wieder bei 0 an...

Beste Grüße

0 Kudos

Hallo,

Wie gesagt, bei mir hat es so wie gewünscht funktioniert.

Meine Formatvolage für die Liste:

$CMS_SET(set_tag,"test")$

$CMS_IF(#list.style == 2)$$--

          --$<ol>$--

--$$CMS_ELSE$$--

          --$<ul$--

                    --$$CMS_IF(#list.style == 8)$$--

                              --$ style="list-style-image: url($CMS_REF(media:"dot")$);"$--

                    --$$CMS_END_IF$$--

          --$>$--

--$$CMS_END_IF$$--

--$vor:$CMS_VALUE(#global.pageContext["set_counterList"])$

  <$CMS_VALUE(set_tag)$$CMS_IF(#global.pageContext["set_counterList"] == 0)$ class="$CMS_IF(st_un_sortiert_liste.toString == "Seriell")$seriellList $CMS_END_IF$default"$CMS_END_IF$>

  $CMS_SET(#global.pageContext["set_counterList"],#global.pageContext["set_counterList"]+1)$

  $CMS_VALUE(#content)$

  </$CMS_VALUE(set_tag)$>$--

--$$CMS_IF(#list.style == 2)$$--

          --$</ol>$--

--$$CMS_ELSE$$--

          --$</ul>$--

--$$CMS_END_IF$

Die Standard Formatvorlage:

<p class="section">$--

          --$

          $CMS_SET(#global.pageContext["set_counterList"],0)$

          $CMS_IF(#content.isEmpty)$$--

                    --$ $--

          --$$CMS_ELSE$$--

                    --$$CMS_VALUE(#content)$</p>$--

          --$$CMS_END_IF$$--

--$</p>

Das Ergebnis:

  • vor:0
  • test
  • test
  • test
    • vor:1
    • test2

Wenn das so nicht funktioniert, bräuchte ich mehr Details also mehr Quellcode etc.

Grüße

0 Kudos

Hallo,

hier nochmals der Quellcode von der Formatvorlage "Liste" - mehr Ouellcode gibt es nicht!

habe auch die Änderung vorgenommen mit dem set_counterList - was leider nicht geholfen hat,

siehe unteres Bild.

Grüße.

$CMS_SET(set_tag)$$CMS_IF(st_un_sortiert_liste.toString == "Unsortiert")$ul$CMS_ELSE$ol$CMS_END_IF$$CMS_END_SET$
$--vor:$CMS_VALUE(#global.pageContext["set_counterList"])--$
<$CMS_VALUE(set_tag)$$CMS_IF(#global.pageContext["set_counterList"] == 0)$ class="$CMS_IF(st_un_sortiert_liste.toString == "Seriell")$seriellList $CMS_END_IF$default"$CMS_END_IF$>
vor:$CMS_VALUE(#global.pageContext["set_counterList"])$
$CMS_SET(#global.pageContext["set_counterList"],#global.pageContext["set_counterList"]+1)$
danach:$CMS_VALUE(#global.pageContext["set_counterList"])$
$CMS_VALUE(#content)$

</$CMS_VALUE(set_tag)$>

Liste.gif

0 Kudos

Hallo,

ich habe Ihren Quelltext in meine Liste kopiert. Das Ergebnis sieht wie folgt aus:

Liste.PNG

Ich denke das entspricht dem gewünschten Ergebnis. Das Problem muss also an einer anderen Stelle liegen. Ändert sich beispielsweise die 32 bei der ersten Verschachtelung, wenn sich die Listen die darunter einsortiert sind ändern? Bzw. wenn sich die Anzahl der Listeneinträge der übergeordneten Liste ändern?

Grüße

0 Kudos

Hallo,

der Zähler fängt bei der 2. Liste wieder bei Null an. Wird in der Tabelle eine Zeile hinzugefügt

bleibt die Anzahl gleich.

Hier einen Auszug von der Liste 2 vom Anfang:

hier kommt die 2. Liste

    vor:0 danach:1 
  1. Liste 2 - 1.Ebene A
  2. Liste 2 - 1. Ebene B
  3. Liste 2 - 1. Ebene C 
      vor:4 danach:5 
    1. Liste 2 - 2. Ebene A
    2. Liste 2 - 2. Ebene B 
        vor:6 danach:7 
      1. Liste 3 - 3. Ebene A

ende der 2 Liste

Hier die Liste 2 mit hinzugefügten Zeilen:

hier kommt die 2. Liste

    vor:0 danach:1 
  1. Liste 2 - 1.Ebene A
  2. Liste 2 - 1. Ebene B
  3. Liste 2 - 1. Ebene B2 wurde neu hinzugefügt
  4. Liste 2 - 1. Ebene C 
      vor:4 danach:5 
    1. Liste 2 - 2. Ebene A
    2. Liste 2 - 2. Ebene A2 wurde neu hinzugefügt
    3. Liste 2 - 2. Ebene B 
        vor:6 danach:7 
      1. Liste 3 - 3. Ebene A

ende der 2 Liste

Die Zählerstände bleiben gleich.

Grüße.

0 Kudos

Hallo,  welche FirstSpirit Version verwenden Sie?   Grüße

0 Kudos

Hallo,

die Version 4.2.454.47473

Viele Grüße.

0 Kudos

Hallo,

ich habe es jetzt in der Version 4.2.454 im Beispielprojekt "Mithras Energy" probiert den Fehler zu reproduzieren, erhalte aber auch hier das gewünschte Ergebnis. Könnten Sie probieren den Fehler im Beispielprojekt zu erzeugen?

Grüße

0 Kudos