Ergebnis 1 bis 7 von 7

Thema: Autonummerierung in Auflistung

  1. #1
    Contao-Nutzer
    Registriert seit
    10.11.2011.
    Beiträge
    13

    Standard Autonummerierung in Auflistung

    Hallo,

    ich habe mit dem EFG-Modul eine Auflistung erstellt, in der Platzierungen bei Sportevents angezeigt werden. Angemeldete Mitglieder können ihre Platzierungen löschen, bearbeiten oder neue hinzufügen. Das funktioniert prima.
    Nun würde ich gerne jeden Eintrag mit einer fortlaufenden Nummer versehen. Der erste Gedanke war, die id des Eintrags zu verwenden. Das funktioniert, es entstehen jedoch Lücken, wenn Datensätze gelöscht oder eingefügt werden.
    Hat jemand einen Tipp, wie das hinzubekommen ist?

    Viele Grüße
    Mart

  2. #2
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Moin!

    Innerhalb der foreach-Schleife, am Anfang der Schleife im Template, eine Variable zählen und an gewünschter Stelle ausgeben lassen.

    Sowas in der Art:
    Code:
    <?php $variablenname++; ?>
    ...
    <?php echo $variablenname; ?>
    ...
    Vor oder nach der Schleife die Variable wieder zurück setzen!
    Code:
    <?php $variablenname = 0; ?>
    Ich bevorzuge immer am Anfang eines Templates, dann funktioniert das immer.
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  3. #3
    Contao-Nutzer
    Registriert seit
    10.11.2011.
    Beiträge
    13

    Standard

    Vielen Dank für die Hilfe, Thomas! Das klappt vorzüglich. Ich habe es so eingebunden:

    PHP-Code:
    <thead>
    <tr>
    <th>Nr</th>
    <?php foreach ($this->thead as $col): ?>
    <th class="head ... </th>
    </tr>
    </thead>
    <tbody>
    <?php foreach ($this->tbody as $class=>$row): ?>
    <?php $variablenname
    ++; ?>
    <tr class="<?php echo $class?>">
    <td><?php echo $variablenname?></td>
    <?php foreach ($row as $col): ?>  
    ...
    ...
    <?php $variablenname 0?>
    Nochmals herzlichen Dank!

    Mart

  4. #4
    Gesperrt
    Registriert seit
    27.09.2011.
    Beiträge
    30

    Standard

    Code:
    <tbody> 
    <?php $v = 0; ?>
    <?php foreach ($this->tbody as $class=>$row): ?> 
    <tr class="<?php echo $class; ?>"> 
    <td><?php echo ++$v; ?></td> 
    <?php foreach ($row as $col): ?>   
    ... 
    ... 
    <?php endforeach; ?>
    ...
    <?php endforeach; ?>
    <?php unset($v) ?>
    Du musst aufpassen falls du irgendwann ein anderes Modul nutzen solltest was die Variable ebenfalls nutzt, dann könnte es sein, dass deine Variable noch einen anderen Wert besitzt und dein erstes ++ dann zB zu 234 statt zu 1 führt. Also am besten vor der foreach schon = 0 setzen und evtl. am Ende deiner Templates ein unset($meineCustomVariable1,$meineCustomVariable2, ...,$meineCustomVariableN) ausführen.

    Hier aber noch eine kleine Alternative auf CSS2.1 Basis

    Grüße,
    Patrick

  5. #5
    Contao-Urgestein Avatar von Thomas
    Registriert seit
    16.08.2009.
    Ort
    Visselhövede
    Beiträge
    1.947
    User beschenken
    Wunschliste

    Standard

    Der Grund, warum ich einen eindeutigen Variablennamen, einem einzelnen Buchstaben vorziehe!
    Gruß Thomas
    "Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du." Mahatma Gandhi

  6. #6
    Gesperrt
    Registriert seit
    27.09.2011.
    Beiträge
    30

    Standard

    Zitat Zitat von Thomas Beitrag anzeigen
    Der Grund, warum ich einen eindeutigen Variablennamen, einem einzelnen Buchstaben vorziehe!
    hehe, ich auch aber ging grad schneller ^^

  7. #7
    Contao-Nutzer
    Registriert seit
    10.11.2011.
    Beiträge
    13

    Standard

    Zitat Zitat von Ayeri Beitrag anzeigen
    hehe, ich auch aber ging grad schneller ^^
    Vielen Dank für die zusätzlichen Infos - aber Thomas, Ayeri: euren Metatext verstehe ich nicht.

    Schönen Abend
    Mart

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •