Vielen Dank, delirius! So irgendwie meinte ich das auch und habe es so auch umgesetzt bekommen. Hier eine kleine Anleitung, falls nochmal jemand diese Lösung benötigt:
Problemstellung: Mittels einer Katalog-Liste werden Katalogeinträge aufgelistet und per Katalog-Leser detaillierter angezeigt. Obwohl gewisse Katalogeinträge nicht in der Katalog-Liste erscheinen, sind sie per direkter URL aufrufbar. Das soll geändert werden.
1) Damit die hier gezeigte Lösung funktioniert, muss im Modul Katalog-Leser das Feld, nach welchem die Abfrage funktionieren soll, sichtbar geschaltet sein (bei mir heißt das Feld "aktiv")!
2) Im Ordner "typolight/system/modules/catalog/templates" eines der Templates (bei mir "catalog_full.tpl") wählen und es mit anderem Namen ("catalog_gruppenleiter.tpl") im gleichen Ordner abspeichern.
3) Die Datei mit dem von delirius genannten Code ändern:
Code:
<?php if (count($this->entries)): ?>
<div class="layout_full">
<?php foreach ($this->entries as $entry): ?>
<?php if ($entry['data']['aktiv']['value'] == 1): ?>
<div class="item<?php echo $entry['class'] ? ' '.$entry['class'] : ''; ?>">
<?php if($entry['linkEdit']): ?><?php echo $entry['linkEdit']; ?><?php endif; ?>
<?php foreach ($entry['data'] as $field=>$data): ?>
<?php if (strlen($data['raw']) && !in_array($field, array('catalog_name','parentJumpTo', 'aktiv'))): ?>
<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; ?>
</div>
<?php else: ?>
<p class="info">Hier die Fehlermeldung eintragen!</p>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php else: ?>
<p class="info">Invalid item reference for catalog.</p>
<?php endif; ?>
Dabei ist zu bemerken, dass das Abfrage-Katalog-Feld eventuell anders heißen kann (bei mir "aktiv"). Das also dann zweimal austauschen. Dabei ist das erste Mal die Abfrage selbst und das zweite ist dafür da, um das Katalogfeld für den Benutzer wieder auszublenden. Wollt ihr, dass der Katalog-Leser auch das Abfrage-Feld anzeigt (bei mir würde man auf der Webseite dann "Aktiv: 1" lesen), dann das zweite "aktiv" inklusive Komma und Anführungszeichen weglassen.
4) Im Contao-Backend dem Katalog-Leser das neue Layout geben.
5) Fertig.
PS: Vielen Dank delirius und natürlich auch Tim G.
Lesezeichen