Contao-Camp 2024
Ergebnis 1 bis 11 von 11

Thema: Individuelles Template – Werte ausgeben

  1. #1
    Contao-Nutzer Avatar von uliverse
    Registriert seit
    21.10.2009.
    Ort
    Hainichen
    Beiträge
    231
    Contao-Projekt unterstützen

    Support Contao

    Standard Individuelles Template – Werte ausgeben

    Seit Contao 4.13 gibt es ja die Möglichkeit, individuelle Templates zu erstellen, optional mit Werten zu füttern und das Ganze als Modul oder Inhaltselement auszugeben.
    Die Werte werden in Arrays abgelegt. Wie bekomme ich diese einzeln ausgelesen (ohne foreach-Schleife)?
    Hat jemand ein Beispiel parat?
    Danke.

  2. #2
    Contao-Nutzer Avatar von uliverse
    Registriert seit
    21.10.2009.
    Ort
    Hainichen
    Beiträge
    231
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Scheinbar gibt es noch nicht so viele Erfahrungen mit dem neuen Feature :-)

  3. #3
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hmmm, da steht: „Sie können über $this->data auf die Werte im Template zugreifen.“

    Dann sollte sich doch per „$this->data[‘SCHLUESSEL‘]“ der Wert ermitteln lassen, oder?

  4. #4
    Contao-Nutzer Avatar von uliverse
    Registriert seit
    21.10.2009.
    Ort
    Hainichen
    Beiträge
    231
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, das dachte ich halt auch... Aber so geht es leider nicht.

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Was zeigt denn ein var_dump($this->data)?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  6. #6
    Contao-Nutzer Avatar von uliverse
    Registriert seit
    21.10.2009.
    Ort
    Hainichen
    Beiträge
    231
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Code:
    array(1) { [0]=> array(2) { ["key"]=> string(8) "bg_color" ["value"]=> string(8) "#444" } }
    Ich muss ergänzen, dass ich relativ wenig Ahnung von PHP habe...

  7. #7
    Contao-Nutzer
    Registriert seit
    03.06.2019.
    Beiträge
    158
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Aus dem Standard-Template:
    PHP-Code:
    <?php foreach ($this->data as $entry): ?>
        <dl>
          <dt><?= $entry['key'?></dt>
          <dd><?= $entry['value'?></dd>
        </dl>
    <?php endforeach; ?>
    Ohne foreach ggf. so:
    PHP-Code:
    echo current($this->data)['value'] . "<br>";
    echo 
    next($this->data)['value'] . "<br>"
    Um direkten Zugriff auf die Keys zu bekommen, müsstest du das Array erstmal flatten:
    PHP-Code:
    $arr = [];

    foreach(
    $this->data as $entry ){
        
    $arr$entry['key'] ] = $entry['value'];
    }        

    echo 
    $arr['bg_color']; 
    Alles ungetestet
    Geändert von Doi (22.04.2022 um 11:29 Uhr)

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von uliverse Beitrag anzeigen
    Code:
    array(1) { [0]=> array(2) { ["key"]=> string(8) "bg_color" ["value"]=> string(8) "#444" } }
    Das solltest Du so nutzen können:

    PHP-Code:
    echo $this->data[0]["key"];   // bg_color
    echo $this->data[0]["value"]; // #444 
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Contao-Nutzer Avatar von uliverse
    Registriert seit
    21.10.2009.
    Ort
    Hainichen
    Beiträge
    231
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Doi Beitrag anzeigen
    Um direkten Zugriff auf die Keys zu bekommen, müsstest du das Array erstmal flatten:
    PHP-Code:
    $arr = [];

    foreach(
    $this->data as $entry ){
        
    $arr$entry['key'] ] = $entry['value'];
    }        

    echo 
    $arr['bg_color']; 
    Alles ungetestet
    Das funktioniert.

  10. #10
    Contao-Nutzer Avatar von uliverse
    Registriert seit
    21.10.2009.
    Ort
    Hainichen
    Beiträge
    231
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Das solltest Du so nutzen können:

    PHP-Code:
    echo $this->data[0]["key"];   // bg_color
    echo $this->data[0]["value"]; // #444 
    Yes! So geht es noch einfacher. Vielen Dank!

  11. #11
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Oder modern mit Twig
    Code:
    {% extends ('@Contao/ce_template') %}
    
    {% block content %}
    
      {{ data.0.key }}
      {{ data.0.value}}
    
    {% endblock %}
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




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
  •