In einem MetaModel wurde ein Attribut angelegt, mit dem Events verknüpft werden können. Wie kann ich nun in dem Template des MetaModels die Events mit seiner Detailseite verlinken?
Wäre schön, wenn mir da jemand weiterhelfen könnte?
In einem MetaModel wurde ein Attribut angelegt, mit dem Events verknüpft werden können. Wie kann ich nun in dem Template des MetaModels die Events mit seiner Detailseite verlinken?
Wäre schön, wenn mir da jemand weiterhelfen könnte?
Weißt du denn bereits, wie du im Template an die Variablen kommst? Siehe z.B. hier https://readthedocs.org/projects/met...ds/pdf/latest/ 3.1.8 Debug Templates
Versuche mal
Wenn dort Variablen für die Events fehlen, kannst du dir das passende über die Models holen, z.B. Feld jumpTo aus tl_calendar.PHP-Code:
<?php
dump($this->data);
?>
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Aktuell sieht es so aus. Das Array liefert mir nur die ID des Events. Wie kann ich daraus den Link zum Detail bekommen? Gibt es da in Contao eine Methode?PHP-Code:
<?php if ( $arrItem['raw']['events_reference'] ): ?>
<div class="ce_accordion">
<div class="toggler">
<div class="inside">
<h3>Termine</h3>
</div>
</div>
<div class="accordion">
<div class="container">
<div class="inside">
<ul>
<?php foreach ( $arrItem['raw']['events_reference'] as $eventReference ) { ?>
<li>
<pre><?php print_r($eventReference); ?></pre>
<?php echo $this->parseDate( 'd.M. Y', $eventReference['startDate'] ); ?>
<?php if ( $eventReference['location'] ): echo ' - ' . $eventReference['location']; endif; ?>
</li>
<?php } ?>
</ul>
</div>
</div>
</div>
</div>
<?php endif; ?>
Da kann dir mm wenig helfen... Bau dir eine kleine Funktion in dein Template, welche eine dB-Abfrage bei tl_events macht in dort das jumpTo rausfischt...
MetaModels-Workshop: ... wo sich die nächste Gelegenheit bietet... oder Extern oder Online
Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen
Da kann dir mm wenig helfen... Bau dir eine kleine Funktion in dein Template, welche eine dB-Abfrage bei tl_events macht in dort das jumpTo rausfischt...
@Andreas: ich denke der Link zur Webseite ist effektiver als das gesamte PDF...
MetaModels-Workshop: ... wo sich die nächste Gelegenheit bietet... oder Extern oder Online
Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen
Jo, hatte ich nur gerade bei Google gefunden und kopiert. Hier zur Doku http://metamodels.readthedocs.io/de/...templates.html
Mit den Models ist das bestimmt einfacher als mit ner DB-Abfrage, aber ich kenne da auch nicht alle Tricks. Das Archive würde man so bekommen denke ich.
PHP-Code:
$eventReaderPageId = \CalendarEventsModel::findById([deineEventId])->jumpTo;
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Oder so.. die Frage war ja, ob MM da was in petto hat..
MetaModels-Workshop: ... wo sich die nächste Gelegenheit bietet... oder Extern oder Online
Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen
So was suche ich gerade
Müsste das dann nicht funktionieren?PHP-Code:
<?php foreach ( $arrItem['raw']['events_reference'] as $eventReference ) { ?>
<li>
<pre><?php /* print_r($eventReference); */ ?></pre>
<?php echo $this->parseDate( 'd.M. Y', $eventReference['startDate'] ); ?>
<?php if ( $eventReference['location'] ): echo ' - ' . $eventReference['location']; endif; ?>
<?php $eventReaderPageId = \CalendarEventsModel::findById([$eventReference['id']])->jumpTo; ?>
<pre><?php echo $eventReaderPageId; ?></pre>
</li>
<?php } ?>
Sorry, du brauchst die ID von tl_calendar.jumpTo (und diese nur, wenn tl_calendar.source auf default steht). Du musst also erst das Archiv des Events rausfinden und dort findest du die jumpTo-Seiten-Id.
Das geht evtl. auch einfacher, bin da aber im Moment leider überfragt. Mach mal das dump($this->data), damit siehst du vielleicht mehr Variablen und es ist schon irgendwas dabei, was du gebrauchen kannst.PHP-Code:
$eventArchiveJumpTo = \CalendarModel::findById([deineEventPid])->jumpTo;
$readerPageAlias = \PageModel::findById($eventArchiveJumpTo)->alias;
$eventUrl = $readerPageAlias.'/'.deinEventAlias.'.html';
ps Nimm dump(), das ist einfacher als print_r(), weil du damit schon das PRE als Wrapper bekommst https://github.com/contao/core/blob/...tions.php#L464
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Das mit dem dump() ist super. Mein Problem ist ja leider, dass mir $this->data bei dem jeweiligen Event in dem dazugehörigen Array keinen direkten Link liefert. So weit mein Verständnis ist, werde ich scheinbar mit Hilfe der gelieferten ID dann via eigener Funktion die entsprechenden Link bauen müssen. Da ist meine Hoffnung, dass mir jemand sagen kann, wie ich anhand einer Event-ID den entsprechenden Detail-Link generieren kann. Da hast Du ja schon einen super Ansatz gegeben, den ich testen werden.
... m.E. gibt es noch eine Tabellenspalte für den Typ, d.h. ob intern oder extern
MetaModels-Workshop: ... wo sich die nächste Gelegenheit bietet... oder Extern oder Online
Erweiterungen: Infos im Seitenbaum, Formular-Default für Select/Checkbox/Radio (SCR), Formular-Newsletteranmeldung, Regex-Formularwidget, Lizenzmanager für Isotope
Unterstützung per Github-Sponsoring: MetaModels Handbuch und Forum, e-spin Erweiterungen
Ja, das ist tl_calendar_events.source, welches default auf "default" steht mit den anderen Optionen intern, extern, article.
Bitte!
Vor Anfragen im Forum HTML validieren.
Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.
Vielen Dank an alle Wunschlistenerfüller
Andreas Burg, Web Solutions
Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)
Lesezeichen