Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: MM-Listenausgabe funktioniert nicht

  1. #1
    Contao-Nutzer
    Registriert seit
    10.09.2020.
    Ort
    53577 Neustadt (Wied)
    Beiträge
    49

    Standard MM-Listenausgabe funktioniert nicht

    Hallo zusammen,

    ich versuche über folgenden Teil in meinem Template eine Liste auszugeben. Generell werden alle
    Einträge angezeigt aber nicht in einer Liste sondern hintereinander.

    So sieht der Teil in meinem Template aus:
    Code:
    <?php if($arrItem['text']['volkstuemlich']): ?>
    <div class="volkstuemlich">
    	<h2>Volkstümliche Namen</h2>
    	<?= str_replace('<li></li>','','<ul><li>'.str_replace('
    ', '</li><li>', $arrItem['text']['volkstuemlich']).'</li></ul>'); ?>
    </div>
    <?php endif; ?>
    Dies ist die FE-Ausgabe:
    Code:
    <ul><li>Name_1
    Name_2
    Name_3
    Name_4
    etc.
    </li></ul>
    Wie bekomme ich dies hin?
    Code:
    <ul>
    <li>Name_1</li>
    <li>Name_2</li>
    <li>Name_3</li>
    <li>Name_4</li>
    <li>etc.</li>
    </li></ul>
    Viele Grüße
    Mirko
    WiedMedia - Web- und Printdesign

  2. #2
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    809

    Standard

    Die Logik beim Replacen stimmt einfach vorne und hinten nicht, würde ich jetzt sagen.

    Es handelt sich um ein einfaches Textelement, bei dem du Wörter mit Kommata trennst, oder?

    Ich bin kein Profi, aber dann könntest du vielleicht so lösen:

    PHP-Code:
    <?php if($arrItem['text']['volkstuemlich']): ?>

    <?php $listItems explode(","$arrItem['text']['volkstuemlich']); ?>

    <div class="volkstuemlich">
        <h2>Volkstümliche Namen</h2>
        <ul>
            <?php 
                
    foreach($listItems as $listItem) {
                    echo 
    "<li>".$listItem."</li>";
                }
            
    ?>
        </ul>
    </div>
    <?php endif; ?>

  3. #3
    Contao-Nutzer
    Registriert seit
    10.09.2020.
    Ort
    53577 Neustadt (Wied)
    Beiträge
    49

    Standard

    Hallo dazzle89,

    das funktioniert so leider auch nicht.

    Die einzelnen Namen werden im Backend (MedtModels) in seperate Input-Felder eingetragen, sind
    nicht kommagetrennt.

    Viele Grüße
    Mirko
    WiedMedia - Web- und Printdesign

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Hallo Mirko, bitte nochmal zurück auf "Start": was genau möchtest Du speichern bzw. ausgeben? Das sieht alles recht verworren aus...

  5. #5
    Contao-Nutzer
    Registriert seit
    10.09.2020.
    Ort
    53577 Neustadt (Wied)
    Beiträge
    49

    Standard

    Hallo Zonky,

    ich versuche das Ganze noch einmal mit zwei Screenshots zu verdeutlichen:

    Nachfolgend siehst Du wie ich die Synonyme (Name-1, Name-2, etc.) im Contao-Backend
    bei den MetaModels erfasse.
    BE_MetaModels-Synonyme.jpg

    Und hier kannst Du sehen wie diese im FE ausgegeben werden, einfach alle hintereinander
    wo aber die genannte Liste <ul><li>...</li></ul> ausgegeben werden soll.
    FE_MetaModels-Synonyme.jpg

    Viele Grüße
    Mirko
    WiedMedia - Web- und Printdesign

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    das ist schonmal prima, dass Du hier das Attribut Texttabelle verwendest - hatte schon die Befürchtung, für jeden (möglichen) Eintrag ein eigenes (Text)Attribut...

    Guck dir mal das an: https://metamodels.readthedocs.io/de...templates.html - damit siehst Du, wie die Daten im Template ankommen - als raw, text und html5

    Es gibt mehrere Möglichkeiten - z.B.

    * in Deinem eigenen Template metamodels_prerendered_*.html5 bei dem Attribut im raw-Knoten einfach aus dem Array eine "CSV" machen
    * in dem (Sub)Template des Attributes (muss Du mal gucken attr_irgendwas.html5) aus dem ankommenden Daten eine CSV machen und bei den Rendereinstellungen des Attributes Dein eigenes Template auswählen

    PS: in MM 2.2 kommt ein "Debugtemplate" out-of-the-box gleich mit...

  7. #7
    Contao-Nutzer
    Registriert seit
    10.09.2020.
    Ort
    53577 Neustadt (Wied)
    Beiträge
    49

    Standard

    Hallo Zonky,

    vielen Dank für Deine ausführliche Hilfe!

    In den Rendereinstellungen habe ich HTML5 als Ausgabeformat. In der Vergangenheit (MM 2.0) hat das
    mit der Liste in meinem Template wie oben beschrieben sehr gut funktioniert.

    Code:
    <?php if($arrItem['text']['volkstuemlich']): ?>
    <div class="volkstuemlich">
    	<h2>Volkstümliche Namen</h2>
    	<?= str_replace('<li></li>','','<ul><li>'.str_replace('
    ', '</li><li>', $arrItem['text']['volkstuemlich']).'</li></ul>'); ?>
    </div>
    <?php endif; ?>
    Was hat sich geändert das dies so nicht mehr geht?

    Viele Grüße
    Mirko
    WiedMedia - Web- und Printdesign

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von wiedMedia Beitrag anzeigen
    A: In den Rendereinstellungen habe ich HTML5 als Ausgabeformat.

    B: In der Vergangenheit (MM 2.0) hat das
    mit der Liste in meinem Template wie oben beschrieben sehr gut funktioniert.

    Code:
    <?php if($arrItem['text']['volkstuemlich']): ?>
    <div class="volkstuemlich">
    	<h2>Volkstümliche Namen</h2>
    	<?= str_replace('<li></li>','','<ul><li>'.str_replace('
    ', '</li><li>', $arrItem['text']['volkstuemlich']).'</li></ul>'); ?>
    </div>
    <?php endif; ?>
    Was hat sich geändert das dies so nicht mehr geht?
    A: schön... bitte mein Posting nochmal lesen, was Du machen sollst - und das bitte tun.

    B: an der Ausgabe hat sich seit MM 2.0 prinzipiell nichts geändert - irgendwann ist die Option hinzu gekommen, einen Header in der Tabelle auszugeben... ich kann mir nicht vorstellen, dass Dein Code mal was brauchbares ausgespuckt hat

  9. #9
    Contao-Nutzer
    Registriert seit
    10.09.2020.
    Ort
    53577 Neustadt (Wied)
    Beiträge
    49

    Standard

    Hallo Zonky,

    doch das hat es bzw. funktioniert immer noch ;-) deswegen meine Fragerei...

    MM_Liste.png

    Viele Grüße
    Mirko
    WiedMedia - Web- und Printdesign

  10. #10
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    MM 2.0: https://github.com/MetaModels/attrib...abletext.html5

    MM 2.2: https://github.com/MetaModels/attrib...abletext.html5

    wie ich sehe, gabs das Feature schon in 2.0... wie du unschwer erkennen kannst, hat sich am Template nichts geändert! Es gibt da aber auch kein UL!!

    Entweder, Du hast ein anderes Attribut, Du hast das Attributtemplate geändert und willst das dann im Listentemplate wieder gerade biegen oder irgend etwas anderes - mein Glaskugelkortex reicht leider nicht bis in Deine Implementierung hinein - ich kann Dir nur einen Weg aufzeigen, den Du sicher gehen kannst ohne ins Eis einzubrechen... laufen musst Du selbst oder alternativ: https://community.contao.org/de/foru...Auftr%C3%A4ge)

  11. #11
    Contao-Nutzer
    Registriert seit
    10.09.2020.
    Ort
    53577 Neustadt (Wied)
    Beiträge
    49

    Standard

    Hallo Zonky,

    ich habe, wie von Dir vorgeschlagen, über das "Debug-Template" und über den "Array-Helper" mir die Daten angeschaut.
    Anschließend habe ich mein eigenes Template angepasst und bekomme die "Listen" nun als Tabelle (mm_attr_tabletext.html5)
    ausgegeben was in der Darstellung auf das selbe hinaus kommt.

    Vielen Dank für Deine Bemühungen ich habe dadurch einiges gelernt!
    Mirko
    WiedMedia - Web- und Printdesign

  12. #12
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von wiedMedia Beitrag anzeigen
    Vielen Dank für Deine Bemühungen ich habe dadurch einiges gelernt!
    Mirko
    Das ist der Weg! ;-)

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
  •