• Inhalt als PDF-Datei herunterladen
  • Optimierter Druck
Thema ohne neue Antworten

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: 19
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: 19
Die Lösung,

zumindest für mich icon_smile.gif

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: 84
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: 601
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: 84
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: 601
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: 19
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

  • Inhalt als PDF-Datei herunterladen
  • Optimierter Druck