Ergebnis 1 bis 3 von 3

Thema: Titel mit Alias versehen, nicht "Details"

  1. #1
    Contao-Fan
    Registriert seit
    20.06.2009.
    Beiträge
    563

    Standard Titel mit Alias versehen, nicht "Details"

    Ich habe mein erstes Metamodel mit zwei Untermordellen soweit eingerichtet, dass grob es funzt. Ich kann alle Daten eingeben und ausgeben.

    Auf der Seite im Frontend wird dann auf die Detailseite, allerdings mit dem zusätzlichen Wort "Details".

    Ich hätte das gerne wieder so, dass der Link zur Detailseite hinter dem Titel liegt. Ich hätte gedacht, dass man eben dieses Feld unten beim Alias angibt. Hab mal einen Screenshot gemacht.
    Angehängte Grafiken Angehängte Grafiken
    Viele Grüße
    Shania

  2. #2
    Contao-Nutzer Avatar von sevenfour
    Registriert seit
    17.01.2012.
    Ort
    Cottbus
    Beiträge
    36

    Standard

    Das kannst du zum Beispiel im MetaModels-Template ändern.

    Gruß
    sev

  3. #3
    Contao-Fan
    Registriert seit
    20.06.2009.
    Beiträge
    563

    Standard

    OK danke, also doch wieder im Template. Das Template hatte ich mir gestern schonmal angesehen und bin nicht draus schlau geworden, wie ich das ändern müsste. Ich bin nicht so fit in php, wenn ich auch kleine Änderungen meist irgendwann hinkriege .

    Also, das wäre doch dieses Template: metamodel_prerendered.html5

    Hier wird das "Details" hinten angehängt:
    Code:
    <?php if ($arrItem['jumpTo']['deep']): ?>
    <a href="<?php echo $arrItem['jumpTo']['url']; ?>"><?php echo $this->details; ?></a>
    <?php endif; ?>
    Das passiert immer am Ende aller anderen Felder, die hier eingefügt werden.

    Code:
    <?php foreach ($arrItem['attributes'] as $field => $strName): ?>
    <?php if ((isset($arrItem[$this->getFormat()][$field]) && ($strValue = $arrItem[$this->getFormat()][$field])
    		|| (isset($arrItem['text'][$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 würde mir nun wünschen, dass das besagte Feld immer dort steht, wo ich es im Backend hingestellt habe. Das ist meist an zweiter Stelle. Das bedeutet, es müsste noch eine if-abfrage da oben rein.

    Im Catalog sah das so aus. Da hieß das Feld "name", das den Sprung zur Detailseite bekommen sollte.

    Code:
    <?php if (strlen($data['value'])): ?>
    <?php if ($entry['url'] && $field == 'name'): ?><a href="<?php echo $entry['url']; ?>" title="<?php echo $entry['data']['name']['value']; ?>"><?php endif; ?>
    <?php echo $data['value']; ?>
    <?php if ($entry['url'] && $field == 'name'): ?></a><?php endif; ?>
    <?php endif; ?>
    Das stand damals schon so in der Doku, meine ich oder hier hatte mir das jemand gepostet. Vielleicht hat ja jemand Zeit und Lust. Ich würde mich freuen und vielleicht hilft es auch anderen hier noch.
    Viele Grüße
    Shania

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
  •