Ergebnis 1 bis 6 von 6

Thema: einzelne labels gezielt ausblenden

  1. #1
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard einzelne labels gezielt ausblenden

    hallo zusammen

    ich arbeite zum ersten mal mit metamodels und möchte schauen, was man ohne php-kenntnisse damit erstellen kann.
    in meinem beispiel möchte ich ein titel, ein bild und ein paar technische angaben ausgeben lassen.

    mein problem ist nun, dass ich das bild und den titel ohne label ausgeben möchte, die technischen ausgaben jedoch mit dem label. in den rendereinstellungen finde ich nur die option, die labels global auszublenden. gibt es eine möglichkeit, diese selektiv auszublenden?


    besten dank und freundliche grüsse

    andi
    Gruss Andi

  2. #2
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ich würde es mit CSS machen ... m.E. kommen die Feldnamen per CSS-Klasse mit, so dass man da
    bequem auf die Labels zugreifen kann.


    Mark

  3. #3
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    sali mark

    danke. diese überlegung habe ich mir gestern auch gemacht. finde ich allerdings nicht ganz sauber, da ich die überbleibsel dann z.b. auch in der überschrift im markup habe. könnte mir vorstellen, dass der weg über das template gemacht werden sollte.


    gruss andi
    Gruss Andi

  4. #4
    Contao-Nutzer
    Registriert seit
    04.04.2012.
    Beiträge
    143

    Standard

    Du kannst dir dein Template natürlich so zusammenbauen wie du es gerne hättest …

    Für die Ausgabe des Labels
    HTML-Code:
    <?php echo $arrItem['attributes']['wertdeinesattributes']; ?>
    Für die Ausgabe des Wertes
    HTML-Code:
    <?php echo $arrItem['html5']['wertdeinesattributes']; ?>
    Anschließend musst du dein erstelltes Template nur in den Rendereinstellungen zuweisen.

  5. #5
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    sali timmey

    genau das habe ich gesucht, ist wohl am einfachsten. war bevor ich den post gelesen hatte auf der suche nach dem richtigen php-schnippsel.
    wo hätte ich suchen müssen, dass ich erfolgreich

    Code:
    <?php echo $arrItem['attributes']['wertdeinesattributes']; ?>
    gefunden hätte?

    durch das einzelne ausgeben der felder habe ich das problem, dass die renderoption leere felder nicht ausgeben nicht mehr funktioniert.
    ich nehme an, ich müsste also im template prüfen, ob $arrItem['html5']['xy'] einen inhalt hat oder nicht (muss ich dann mit try and error mal testen).

    das zweite ist, dass wenn ein feld in den technischen angaben hinzu kommt, ich das template anpassen müsste. gibt es eine einfache lösung um zu sagen, gib mit titel und bild separat aus und alle anderen felder dynamisch wie im template metamodel_prerendered.html5?

    ich müsste also zwei definierte felder von der schleife herausnehmen:

    Code:
    <?php foreach ($arrItem['attributes'] as $field => $strName): ?>
    <?php if (($strValue = $arrItem[$this->getFormat()][$field]) || ($strValue = $arrItem['text'][$field])): ?>
    <div class="field <?php echo $field; ?>">
    	<?php if(!$this->$strRendersettings->get('hideLabels')): ?>
    		<div class="label"><?php echo sprintf($GLOBALS['TL_LANG']['MSC']['field_label'], $strName); ?></div>
    	<?php endif; ?>
    	<div class="value"> <?php echo $strValue; ?></div>
    </div>
    <?php endif; ?>
    <?php endforeach; ?>
    ich denke, die einfachere methode wäre zu prüfen, ob ein array leer ist oder nicht und somit die ausgabe zu unterbinden?

    vielen vielen dank.


    gruss andi
    Geändert von aportmann (15.01.2014 um 09:07 Uhr)
    Gruss Andi

  6. #6
    Contao-Fan Avatar von aportmann
    Registriert seit
    19.06.2009.
    Ort
    schweiz
    Beiträge
    422
    Partner-ID
    5934

    Standard

    ein einzelnes array könnte ich ja wie folgt prüfen:

    Code:
    <?php if(count($arrItem['html5']['test'])) {
    	echo '<strong>'.$arrItem['test']['test'].': </strong>'.$arrItem['html5']['test'].'<br />';
    	}
    	
    	else {
    	
    	echo '';
    	}
    dabei würden mich wahrscheinlich phpler am liebsten würgen, vor allem wenn ich für alle 5 angaben eine einzelne prüfung vornehme


    gruss andi
    Gruss Andi

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
  •