Catalog - Template anpassen zwecks CSS editing für Feld
Hallo,
komme leider mal wieder nicht weiter und mittlerweile sind mir sämtliche Ideen ausgegangen :(.
Würde euch daher mal mit einer weiteren Frage belästigen ;-).
Ich habe ein Catalog-Feld namens 'Anzeigen_Titel', welches im Frontend ausgegeben wird.
Den Titel möchte ich nun mit css editieren (fettere Schrift etc.).
Sowie ich es bisher verstanden habe, muss dafür das Template (catalog_simple.tpl) angepasst werden.
Nach der Ausgabe des Arrays zwecks
PHP-Code:
<?php $this->showTemplateVars(); ?>
fand ich heraus,
dass 'Anzeigen_Titel' in der Variable namens [VALUE] ausgegeben wird.
Soweit so gut, in dieser Variable wird nun aber auch der 'Anzeigen_Text' ausgegeben, sodass ich 'Anzeigen_Titel' nicht einzeln bearbeiten konnte.
Also habe ich meinem Template folgenden Code hinzugefügt, um 'Anzeigen_Titel' als Überschrift 'h3' auszugeben und dann mit css bearbeiten zu können:
PHP-Code:
<h3><?php echo $entry['data']['anzeigen_titel']['value']; ?></h3>
Das Ergebnis davon war, dass mein Titel nun dreifach dargestellt wird.
Also habe ich BE im Modul unter 'Sichtbare Felder' das Anzeigen der Überschrift deaktivert - ohne Besserung.
Dann dachte ich, es wäre vielleicht der richtige Weg diesen Code aus dem Template zu entfernen:
PHP-Code:
<div class="value"><?php echo $data['value']; ?></div>
, da dieser ja enscheinend schon das gesamte Value inkl. Überschrift ausgibt.
So stand dann erstmal
PHP-Code:
<h3><?php echo $entry['data']['anzeigen_titel']['value']; ?></h3>
alleine da und es wurde gar kein Titel mehr ausgegeben (soweit ich mich nach ein paar Stunden rumprobieren erinnern kann - jedenfalls hat das auch nicht funktioniert.
Meine catalog_simple.tpl sieht aktuell standardmäig so aus:
PHP-Code:
<?php if (count($this->entries)): ?>
<div class="layout_simple">
<?php foreach ($this->entries as $entry): ?>
<div class="item<?php echo $entry['class'] ? ' '.$entry['class'] : ''; ?>">
<?php foreach ($entry['data'] as $field=>$data): ?>
<?php if (!in_array($field, array('catalog_name','parentJumpTo'))): ?>
<div class="field <?php echo $field; ?>">
<div class="label"><?php echo $data['label']; ?></div>
<div class="value"><?php echo $data['value']; ?></div>
</div>
<?php endif; ?>
<?php endforeach; ?>
<?php if ($entry['showLink'] && $entry['link']): ?>
<div class="link"><?php echo $entry['link']; ?></div>
<?php endif; ?>
<?php if ($entry['linkEdit']): ?>
<div class="linkEdit"><?php echo $entry['linkEdit']; ?></div>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php else: ?>
<?php if ($this->condition): ?>
<div class="condition"><?php echo $this->condition; ?></div>
<?php else: ?>
<p class="info">There are no entries matching your search.</p>
<?php endif; ?>
<?php endif; ?>
Was mache ich falsch? :(
Es will, aber nicht richtig ....
Hi,
danke für deine Antwort :-), das hat vom Verständnis her schonmal sehr geholfen.
Habe aber noch das Problem, dass der 'anzeigen_titel' nun dreifach im Frontend ausgegeben wird.
Wenn ich 'Anzeigen_Titel' im BE als Sichtbares Feld deaktiviere, wird der Titel trotz
PHP-Code:
<div class="anzeigen_titel"><?php echo $entry['data']['anzeigen_titel']['value']; ?></div>
im Template überhaupt nicht ausgegeben.
Wenn ich das Feld wieder als sichtbar aktivieren, dann wieder dreifach.
Verstehe das nicht so ganz, entweder dreifach oder gar nicht...
Das Template sieht aktuell bei mir so aus:
PHP-Code:
<?php if (count($this->entries)): ?>
<div class="layout_simple">
<?php foreach ($this->entries as $entry): ?>
<div class="item<?php echo $entry['class'] ? ' '.$entry['class'] : ''; ?>">
<?php foreach ($entry['data'] as $field=>$data): ?>
<?php if (!in_array($field, array('catalog_name','parentJumpTo'))): ?>
<div class="field <?php echo $field; ?>">
<div class="anzeigen_titel"><?php echo $entry['data']['anzeigen_titel']['value']; ?></div>
</div>
<?php endif; ?>
<?php endforeach; ?>
<?php if ($entry['showLink'] && $entry['link']): ?>
<div class="link"><?php echo $entry['link']; ?></div>
<?php endif; ?>
<?php if ($entry['linkEdit']): ?>
<div class="linkEdit"><?php echo $entry['linkEdit']; ?></div>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php else: ?>
<?php if ($this->condition): ?>
<div class="condition"><?php echo $this->condition; ?></div>
<?php else: ?>
<p class="info">There are no entries matching your search.</p>
<?php endif; ?>
<?php endif; ?>
Habe ich noch etwas vergessen?
Gruß,
mavnet
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe dafür ne Vorlage, die müsstest du eigentlich leicht an deine Bedürfnisse anpassen können. Das Hauptproblem bei dir ist, dass du das mit der foreach-Schleife nicht verstanden hast, deshalb hast du das z.B. 3 mal.