Habe mal eine konkrete Frage zur Beispielwebseite Movie Database.
Die Lösung ist warscheinlich recht simpel...
Wie kann ich den aktuellen Filter wie in dem Beispiel
ausgeben?Zitat:
Zeige alle Einträge Regie von jared-bush
Druckbare Version
Habe mal eine konkrete Frage zur Beispielwebseite Movie Database.
Die Lösung ist warscheinlich recht simpel...
Wie kann ich den aktuellen Filter wie in dem Beispiel
ausgeben?Zitat:
Zeige alle Einträge Regie von jared-bush
habe mal nachgesehen... hier wurde das in das Template ce_metamodel_list reingewurstelt und einfach die GET-Parameter übernommen (mit Übersetzung)
ich hätte das in das metamodel_prerendered rein gesetzt - mach mal ein Template-Debug wie im Handbuch beschrieben, dann solltest Du den Wert finden...
Da hab ich mir schon nen Wolf gesucht und irgendwann aufgegeben.
Hintergrund ist einfach, dass durch die Filterung im Frontend unzählige URLs entstehen, die alle den selben pageTitle und h1 haben.
Aus SEO sicht wäre es aber nicht unbedeutend den aktuellen Filterwert in pageTitle und als h1 auszugeben...
Jemand weitere Vorschläge bzw schon umgesetzt? :)
füge mal das Template-Debugging ein und poste Deine Seite... was als GET-Parameter an die MM-Liste übergeben wird, sollte sich als Wert dort auch wiederfinden => ergo auch ausgeben lassen
wenn alle Stricke reißen, mach wie in der MM-Demo: gib die GET-Parameter einfach wieder aus
könnte daran liegen: http://metamodels.readthedocs.io/de/...templates.html
oder hast Du das schon getestet?Zitat:
Ist in den Render-Einstellungen die Weiterleitung und Filter für die Detailseite eingestellt, wird die Ausgabe des Arrays im Quelltext sehr umfangreich und führt häufig zu einem Error „Allowed memory size…“. Abhilfe schafft hier z.B. das kurzzeitige Abschalten des Filters für die Weiterleitung.
Mal wieder das Handbuch nicht richtig gelesen :(
Hier der Link zur Seite > Link
z.B. https://www.students-freiburg.de/gas...rchzarten.html
Deine Filterung steht doch hier
[stadt] => KirchzartenPHP-Code:
Array
(
[0] => Array
(
[raw] => Array
(
...
[text] => Array
(
[name] => Fiesta
[neueroeffnung] =>
[kueche] =>
[vorschaubild] =>
[published] => 1
[stadt] => Kirchzarten
[stadtteil] =>
[kategorie] => Bars & Kneipen, Restaurants
)
entweder du gibst das beim ersten Item aus (über einen Zähler im foreach ... $i == 0 ...) oder wie beim Debug
m.E. kommt die MM-Listenausgabe vor dem letzten Rendering von Contao, d.h. du kannst aus den Seitentitel noch ändern ... irgendwas mit $objPage->pageTitle = 'Stadt ' . $myCity;PHP-Code:
$this->items->parseAll($this->getFormat(), $this->view)[0]['text']['stadt']
Danke fürs drüberschaun. Werds versuchen!
man kann das natürlich auch in das Filtertemplate einbauen... aber das das metamodels_prerendered eh meistens angefasst wird, finde ich das hier "einfacher"
Das haut so leider nicht ganz hin. Das sind ja lediglich die Daten des 1. Items in der Listenansicht die abgegriffen werden.
d.h. wenn in dem Beispiel noch kein Stadtteil ausgewählt wurde wird trotzdem der Stadtteil des 1. Items in der Liste ausgegeben...
Könnte ich zwar so machen, aber dann müsste ich nach Filterung auf eine neue Seite weiterleiten.
So funktionierts ganz ok. Danke dir.
PHP-Code:
<?php
$filterStadt = \Input::get('stadt');
$filterStadt = ucfirst($filterStadt);
$filterStadtteil = \Input::get('stadtteil');
$filterStadtteil = preg_replace ( '/[^a-z0-9 ]/i', ' ', $filterStadtteil );
$filterStadtteil = ucwords($filterStadtteil);
$ort = "";
if (empty($filterStadtteil)) {
$ort.=$filterStadt;
}
else $ort.=$filterStadtteil;
?>
<?php
global $objPage;
$objPage->pageTitle ="".$arrItem['text']['kategorie']." ".$ort?>