[Info] PageBrowser

Autor Nachricht
Verfasst am: 26.04.2007 [11:58]
McGregor


[Themenersteller]
dabei seit: 05.11.2004
Beiträge: 489

Hallo!

Nachdem hier einige nach der Problematik mit dem Pagebrowser fragen, dachte ich, ich gebe mal einen kleinen Workaround.

Viele sagen, man soll den Namen des Formulars der Macina-Searchbox umbenennen. Dies hilft aber nur in einigen Fällen, denn es kommt darauf an, ob man die eigentliche Suche der Indexed-Search in der Ergebnisliste anzeigen läßt, oder nicht. Also hier die möglichen Fälle:

1. Indexedsearch OHNE Macina-Search-Box MIT Suchbox auf der Ergebnisseite:
-> Sollte eigentlich ohne Probleme funktionieren

2. Indexedsearch OHNE Macina-Search-Box OHNE Suchbox auf der Ergebnisseite:
-> Hier kann kein Blättern durchgeführt werden, weil das entsprechende Formular fehlt. Ich rate dazu, die Suchbox der Indexedsearch anzeigen zu lassen und evtl. ein div um die Box zu legen und dessen display auf none zu setzen. Dadurch sind die Felder vorhanden, aber nicht sichtbar.

3. Indexedsearch MIT Macina-Search-Box MIT Suchbox auf der Ergebnisseite:
-> Hier muss man den Namen der Macina-Search-Box umbenennen (falls dieser "tx_indexedsearch" heißt), da es hier zu Java-Script-Konflikten kommt.

4. Indexedsearch MIT Macina-Search-Box OHNE Suchbox auf der Ergebnisseite:
-> Hier muss darauf geachtet werden, dass die Macina-Search-Box GENAU den Namen (tx_indexedsearch) der eigentlichen Suchbox erhält. Dadurch wird erreicht, dass die Javascript-Aufrufe auch ein Ziel haben. Leider ist es aber damit nicht getan, denn die Information, wonach gesucht wurde geht verloren. Ein einfachen hidden-Field ist komplizierter umzusetzen als die class.tx_indexedsearch.php anzupassen.
Dazu muss in der Datei in der Funktion "makePointerSelector_link" Änderungen vorgenommen werden.

Php:Zeilennummerierung:  An / Aus

  1. function makePointerSelector_link($str,$p,$freeIndexUid)        {
  2.   $suchbegriff = t3lib_div::_GP($this->prefixId); // new by McGregor
  3.   $onclick = 'document.'.$this->prefixId.'[\''.$this->prefixId.'[pointer]\'].value=\''.$p.'\';'.
  4. //'document.'.$this->prefixId.'[\''.$this->prefixId.'[_freeIndexUid]\'].value=\''.rawurlencode($freeIndexUid).'\';'.
  5.   'document.'.$this->prefixId.'[\''.$this->prefixId.'[sword]\'].value=\''.$suchbegriff['sword'].'\';'. // McGregor
  6.   'document.'.$this->prefixId.'.submit();return false;';
  7.   return '<a href="#" onclick="'.htmlspecialchars($onclick).'">'.$str.'</a>';
  8. }


Dazu habe ich (s.o.) zwei neue Zeilen eingefügt. Dadurch wird vor dem Abschicken des Formulars per Javascript der aktuelle Suchbegriff eingetragen. Somit sollte die korrekte Seite des Suchergebnisses angezeigt werden.

Grüße
McGregor

And when you kill a man you're a murderer
Kill many and you're a conqueror
Kill them all and you're a God
[Dave Mustaine - Megadeth - Countdown to Extinction]
Verfasst am: 04.05.2007 [14:45]
Michaelh74

dabei seit: 16.11.2004
Beiträge: 742

Noch ein Alternative zur Lösung 4.

Bietet sich an, wenn man z.B. keine Änderung am Source-Code vornehmen möchte, keinen Zugriff hat oder nicht will, daß sie beim nächsten Update überschrieben wird.

In diesem Fall baut man das Indexed_search Formular einfach mit ein und macht es per CSS unsichtbar z.B.

Html4strict:Zeilennummerierung:  An / Aus

  1. .tx-indexedsearch-searchbox {
  2.         display: none;
  3. }


Dann kann man die einfache Lösung (Punkt 3) verwenden - also dem Formular der Macina-Search-Box eine anderen Namen geben.

Viele Grüße
Michael

[Dieser Beitrag wurde 1 mal bearbeitet. Zuletzt am 04.05.2007 um 14:47]
Verfasst am: 22.04.2008 [12:28]
a3ro

dabei seit: 05.03.2007
Beiträge: 59

danke! danach hab ich jetzt stunden gesucht.




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.