Ergebnis 1 bis 3 von 3

Thema: Mitgliederliste: Felder einzeln ansprechen

  1. #1
    Contao-Nutzer
    Registriert seit
    19.07.2009.
    Beiträge
    92

    Standard Mitgliederliste: Felder einzeln ansprechen

    Für eine Mitgliederauflistung im Front-End nutze ich die Erweiterung [memberlist] welche einst Teil des Core war. Das dazugehörige Template habe ich weitestgehend meinen Bedürfnissen zugeschnitten.

    HTML-Code:
    <tbody>
      <?php foreach ($this->tbody as $class=>$row): ?>
      <tr class="<?php echo $class; ?>">
    	<?php foreach ($row as $col): ?>
        <td class="body <?php echo $col['class']; ?>"><?php echo $col['content']; ?></td>
    	<?php endforeach; ?>
      </tr>
      <?php endforeach; ?>
    </tbody>
    Nun will ich aber die einzelnen Mitgliederfelder gezielt, jedes für sich ansprechen. Dazu habe ich mir den Array $row angesehen und daraus meine gewünschten Werte gelesen.

    Code:
    Array
    (
        [0] => Array
            (
                [raw] => Array
                    (
                        [id] => 7
                        [username] => p.mustermann
                        [xt_rank] => fm
                        [firstname] => Peter
                    )
    
                [content] => [fm] [FM] Feuerwehrmann
                [class] => col_0 col_first
                [id] => 7
                [field] => xt_rank
            )
    
        [1] => Array
            (
                [raw] => Array
                    (
                        [id] => 7
                        [username] => p.mustermann
                        [xt_rank] => fm
                        [firstname] => Peter
                    )
    
                [content] => Peter
                [class] => col_1
                [id] => 7
                [field] => firstname
            )
    
    )
    Das eigentliche Problem liegt darin, dass ich mithilfe des [xtmember_fieldeditor] weitere Felder definiert habe, diese aber samt Wert u. Beschreibung ausgespuckt werden. (zB [fm] [FM] Feuerwehrmann) Gibt es einen Weg, wie ich über obigen Array iterieren kann? Also die Werte innerhalb von [raw] ausgeben kann. Ich blicke da noch nicht wirklich durch.

  2. #2
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    PHP-Code:
    <?php
    foreach ($row as $member)
    {
        echo 
    $member['content'];
    }
    Das sollte dir den String Feuerwehrmann ausgeben, sofern ich die Struktur richtig verstanden habe.

    Edit: Ne, also soetwas hast du ja schon. Und was wird nun falsch ausgegeben?

    Sebastian
    Ich arbeite beim Linux-Systemhaus ETES in Stuttgart

  3. #3
    Contao-Nutzer
    Registriert seit
    19.07.2009.
    Beiträge
    92

    Standard

    Hallo Sebastian,

    danke für die Hilfe.

    Das Problem vorhin war, dass wenn ich die Felder einfach per ['content'] ausgebe, den Wert ([fm]) und die Beschreibung ([FM] Feuerwehrmann) erhalte. Außerdem wird der Wert in eckige Klammern gesetzt. Ich will diesen Wert jedoch als CSS-Klasse nutzen und die Informationen nicht nur in die Tabellenzelle schreiben bzw. mehrmals davon gebrauch machen (zB als title, sprungmarke, etc.).

    Meine neuer Lösungsweg - nicht ganz so elegent - sieht nun so aus:

    PHP-Code:
    <tbody>
      <?php foreach ($this->tbody as $class=>$row): ?>
      <tr class="<?php echo $class?>">
        <?php foreach ($row as $col): ?>
            <?php 
                $rank 
    $col['raw']['xt_rank'];
                
    $firstname $col['raw']['firstname'];
                
    $lastname $col['raw']['lastname'];
                
    $role $col['raw']['xt_role'];
            
    ?>
        <?php endforeach; ?>
        
        <td class="body"><?php echo $rank?></td>
        <td class="body"><?php echo $firstname?></td>
        <td class="body"><?php echo $lastname?></td>
        <td class="body"><?php echo $role?></td>
      </tr>
      <?php endforeach; ?>
    </tbody>
    Schade, dass ich dazu immer noch die Schleife brauche. Ich wüsste sonst nicht wie der Name des Arrays lauten würde. Alles bisher probierte greift da leider nicht.

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Module einzeln ausblenden
    Von xkoy im Forum Layout / Templates / Holy Grail
    Antworten: 4
    Letzter Beitrag: 01.09.2010, 10:11
  2. [Mitgliederliste] - Felder standardmäßig öffentlich?
    Von Snaky im Forum Sonstige Erweiterungen
    Antworten: 1
    Letzter Beitrag: 22.08.2010, 04:13
  3. Navigationspunkte einzeln ansprechen per CSS
    Von Alexander im Forum Layout / Templates / Holy Grail
    Antworten: 2
    Letzter Beitrag: 28.02.2010, 23:15
  4. [E-Mail -Mitgliederliste TL 2.7.6] Spam über TL Mitgliederliste
    Von helmut im Forum Installation / Update
    Antworten: 1
    Letzter Beitrag: 23.02.2010, 22:58
  5. [mitgliederliste]öffentliche Felder vordefinieren
    Von Jumpingpixel im Forum Entwickler-Fragen
    Antworten: 1
    Letzter Beitrag: 26.11.2009, 16:04

Lesezeichen

Lesezeichen

Berechtigungen

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