TYPO3-Browser: viewlist mit Get Parameter / Startwert / Initialwert starten
| Autor | Nachricht |
|---|---|
|
Verfasst am: 09. 03. 2011 [10:05]
|
|
|
Bjoern
Bjoern
Themenersteller
Dabei seit: 20.01.2011
Beiträge: 18
|
Moin, bräuchte mal nen Tipp oder Stichwort. Wühle mich schon ne ganze Weile durch die Doku, find aber einfach nix dazu. Möchte beim ersten Aufruf einer Seite mit der Browser-Extension gern ein Startwert (z.B. aktuelles Datum) in die Sucheanfrage einfügen. Bei später Aufrufen über das Suchformulare darf der Parameter nicht mehr enthalten sein bzw muss überschrieben werden. Alternativ würde auch das Ausführen eines Filters beim ersten Aufruf der Seite helfen, finde aber auch dazu nichts. Geht sowas mit respect_filters ? Gruss Björn |
|
Verfasst am: 09. 03. 2011 [16:19]
|
|
|
Bjoern
Bjoern
Themenersteller
Dabei seit: 20.01.2011
Beiträge: 18
|
Die Lösung, zumindest für mich TYPOSCRIPT andWhere = COA andWhere { if.isFalse.data = GPvar:userInput 10 = TEXT 10.dataWrap = (FROM_UNIXTIME( myTable.myDate, '%m-%Y' ) = '{date:m}-{date:Y}') 10.noTrimWrap = || AND| } Wählt alle DB-Einträge aus diesesm Monat aus. Im Suchformular muss ergänzt werden: HTML <input type="hidden" name="userInput" value="1" />Verbleibender Schönheitsfehler: Für myTable.myDate habe ich einen Filter in meinem Formular eingebaut. Dieser bietet nach der ersten Suche nur den aktuellen Monat zur Auswahl. Damit der Nutzer alle Einträge angezeigt bekommt, muss er erst die Suche zurücksetzen. Nicht sehr intuitiv, vielleicht hat jemand einen Tipp wie ich dem Filter beibringe immer alles anzuzeigen. Gruss Björn |
|
Verfasst am: 16. 03. 2011 [20:28]
|
|
|
dkuehlborn
Dieter Kühlborn
Dabei seit: 04.11.2010
Beiträge: 83
|
Hallo Bjoern, danke für Deine Lösung. Ich habe diese bei mir genauso anwenden können. Das Problem mit dem Filter hatte ich auch und habe es wie folgt gelöst: TYPOSCRIPT filter { tx_dktournament_data { startyear < plugin.tx_browser_pi1.displayList.master_templates.selectbox startyear.wrap.item.display_without_any_hit = 1 startyear.wrap.item.display_hits = 0 startmonth < plugin.tx_browser_pi1.displayList.master_templates.selectbox startmonth.wrap.item.display_without_any_hit = 1 startmonth.wrap.item.display_hits = 0 } } "display_without_any_hit" zeigt alle Filtereintragungen angezeigt, auch wenn in der aktuellen Abfrage die Trefferqoute bei 0 liegt. Da die Darstellung der Dateisätze mit Nullwert sehr seltsam aussieht habe ich "display_hits" auf Null gesetzt. Nachtrag zur andWhere-Funktion: Ich habe bei mir den Eintrag noTrimWrap leer gelassen, da sonst ein SQL-Fehler angezeigt wurde. In der Abfrage wurde AND zweimal hintereinander geschrieben. TYPOSCRIPT andWhere = COA andWhere { if.isFalse.data = GPvar:userInput 10 = TEXT 10.dataWrap = Left(FROM_UNIXTIME( tx_dktournament_data.startdate ),4) = '{date:Y}' AND Substring(FROM_UNIXTIME( tx_dktournament_data.startdate ),6,2) = '{date:m}' 10.noTrimWrap = } Diese andWhere-Funktion führt bei mir in Verbindung mit der Seitennavigation zu einem seltsamen Verhalten. Auf meiner Seite werden die Sätze auf 20 pro Seite eingeschränkt. Nach der Anzeige der Standardseite (Liste der Turniere im aktuellen Monat) wechsel ich die Anzeige auf einen anderen Monat mit 30 Suchergebnissen. Sobald ich in dieser Liste über die Seitennavigation auf die Datensätze 21-30 zugreifen möchte, erfolgt wieder die andWhere-Funktion, da beim Pagebrowser die Eingabe userInput nicht gesetzt wurde. Ich hoffe, dass dieses Verständlich ist, was ich von mir gegeben habe. In meinem Falle nehme ich die andWhere-Funktion in dieser Form wieder aus der Konfiguration. VG Dieter VG Dieter [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 16.03.2011 um 20:49.] |
|
Verfasst am: 24. 03. 2011 [11:15]
|
|
|
dirk
Dirk Wildt
Dabei seit: 27.09.2010
Beiträge: 494
|
Vielen Dank für Eure Lösungen. Habe den Thread ins Kochbuch verschoben. Dirk --
Willst Du den TYPO3-Browser mit einer Spende unterstützen? Wir freuen uns über jeden EUR! Sponsoring: Ich will einfach einen Betrag spenden http://typo3-browser.de/sponsoring |
|
Verfasst am: 01. 06. 2011 [23:00]
|
|
|
dkuehlborn
Dieter Kühlborn
Dabei seit: 04.11.2010
Beiträge: 83
|
Hallo Forum, ich habe nun meine Lösung gefunden. Die betreffende Seiten, in den ich den Browser verwende, rufe ich mit GET-Parametern auf. Dieses ha zufolge, dass der oder die Filter gesetzt werden, so als hätte der Anwender diese ausgewählt. Die Erzeugung der Links im Menü hattn mir Probleme bereitet. Nach einigen Tagen sieht man oft die Sache klarer. Heute habe ich dieses nun auf meiner Seite realisieren können. Bei den Seiten mit den IDs 230 und 275 sollen die Parameter startyear=aktuelles Jahr startmonth=aktueller Monat eingesetzt werden. Die Seite 230 soll auf die Tabelle tx_dkapolesson_data zugreifen. Die Seite 275 greift auf die Tabelle tx_dktournament_data zu. Hier nun mein Auszug aus dem Menüscript: TYPOSCRIPT 30 = HMENU 30 { wrap = | 1 = TMENU 1 { noBlur = 1 wrap = <ul class="level-1">|</ul> NO = 1 NO.ATagTitle.field = abstract // description // subtitle NO.allWrap = |<span class="hidden">.</span> NO.wrapItemAndSub.insertData = 1 NO.wrapItemAndSub = <li class="menuid-{field:uid}">|</li> NO.stdWrap.htmlSpecialChars = 1 NO.linkWrap = {$if_yaml.nav.sub.linkWrap} NO.ATagBeforeWrap = 1 NO.additionalParams.stdWrap.cObject = COA NO.additionalParams.stdWrap.cObject { 10 = COA 10 { 11 = TEXT 11.value = &tx_browser_pi1[tx_dkapolesson_data.startyear][]= 12 = TEXT 12 { data = date:U strftime = %Y } 13 = TEXT 13.value = &tx_browser_pi1[tx_dkapolesson_data.startmonth][]= 14 = TEXT 14 { data = date:U strftime = %m } } 10.if { equals.field = uid value = 275 } 20 = COA 20 { 21 = TEXT 21.value = &tx_browser_pi1[tx_dktournament_data.startyear][]= 22 = TEXT 22 { data = date:U strftime = %Y } 23 = TEXT 23.value = &tx_browser_pi1[tx_dktournament_data.startmonth][]= 24 = TEXT 24 { data = date:U strftime = %m } } 20.if { equals.field = uid value = 230 } } ACT = 1 ACT < .NO ACT.wrapItemAndSub = <li class="active">|</li> CUR = 1 CUR < .NO CUR.allWrap = <strong>|</strong><span class="hidden">.</span> CUR.wrapItemAndSub = <li id="current" class="menuid-{field:uid}">|</li> CUR.doNotLinkIt = 1 CUR.stdWrap.htmlSpecialChars = 1 IFSUB = 1 IFSUB < .NO IFSUB.linkWrap = {$if_yaml.nav.sub.ifsubLinkWrap} } 2 < .1 2.wrap = <ul class="level-2">|</ul> 3 < .1 3.wrap = <ul class="level-3">|</ul> 4 < .1 4.wrap = <ul class="level-4">|</ul> } Ich hoffe, es hilft jemand weiter. VG Dieter |
|
Verfasst am: 25. 08. 2011 [21:15]
|
|
|
dirk
Dirk Wildt
Dabei seit: 27.09.2010
Beiträge: 494
|
Hallo Björn und Dieter, ihr habt mir mit Euren Beispielen prima geholfen. Ich habe eben folgenden Thread veröffentlicht: * TYPO3-Browser: Initialwert für Filter / Default get-Parameter / Alle Datensätze ab heute 0:00 Uhr Viele Grüße Dirk --
Willst Du den TYPO3-Browser mit einer Spende unterstützen? Wir freuen uns über jeden EUR! Sponsoring: Ich will einfach einen Betrag spenden http://typo3-browser.de/sponsoring |
|
Verfasst am: 11. 01. 2012 [12:29]
|
|
|
Bjoern
Bjoern
Themenersteller
Dabei seit: 20.01.2011
Beiträge: 18
|
Moin, leider hatte meine Lösung einen kleiner Schönheitsfehler. Der Pagebrowser geht dann leider nicht mehr. An die Links für die einzelnen Seiten müsste &userInput=1 angehängt werden. Leider habe ich dazu Möglichtkeit gefunden. Die Naviagtion wie von Dieter vorgeschlagen zu ändern hilft mir bei meinem Prbolem leider nicht weiter. Gruss Björn [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 11.01.2012 um 12:39.] |
Powered by TYPO3 und mm_forum Extension

