Sie sind hier : Homepage →  TYPO3 CMS - Info+Install→  Typo3 (5) Suchmaschinen→  Mnogosearch und css

240 - Fortsetzung und Grundsätzliches zur mnogosearch Extension:

Aus dem Handbuch von Autor Dmitry geht bei allem guten Willen "Einiges" nicht klar hervor, selbst wenn man als gestandener Programmierer einsteigt.

  1. Die Suchmaschine ist eine Linux - Mysql Konzeption und hat mit Typo3 erstmal wenig zu tun. Die mnogosearch Engine wird einmalig auf dem Server compiliert !! und !! installiert und ist auf diesem Server für alle mysql basierenden Systeme nutzbar.

  2. Die tx_mnogosearch Extension von Dmitry ist das unbedingt notwendige und zugehörige Konfigurations- und Konnectivity Modul zu Typo3. Dort werden (innerhalb von Typo3) die Parameter für den (Linux-) Indexer sowie die Typo3 Anfrage- und Ausgabe-Seiten für den Typo3- Content definiert und gestyled.

  3. In diese tx_mnogosearch Extension ist vom Autor Dmitry eine weitere (Spezial-Include-) Extension, der "Universal Page Browswer" integriert (besser "included") worden.

  4. Dieser "Universal Page Browswer" ist keine richtige eigenständige Extension, er ist eher ein "Include"- Zusatz-Modul zur Nutzung innerhalb einer (Main-) Extension. Diese Verwendung ist in der tx_mnogosearch bereits rudimantär vorbereitet.

  5. Beide "Extensions" müssen/sollen/können auch global installiert und dort (unerwünschter Weise) für alle Webs gestyled werden (war bei uns Vorgabe). (Stand 4.1.2010 - "global" funktioniert nicht. - 18.3.2010 und es funktioniert doch, nur warum geht es jetzt ??)

  6. Weder im Typscript der jeweilige Root Seite noch im TS Bereich der Templates (bei constants, setup) der Abfrage und Anzeigeseite werden "TS-Codebrocken" eingefügt.

  7. Im Template der dedizierten Suchseite habe ich 2 statische Templates "eingeschlossen":
    mnogosearch und pagebrowse (Zweites braucht man aber gar nicht)

  8. Die Einbindung des mnogosearch statischen Templates in die root Seite kommt später noch, wenn das globale Suchfeld auf jeder Seite umgebaut wird.

-
Erst, wenn man das alles verstanden hat, sollte man sich an diese Extension "heran" machen und sie nach seinem Gusto einbauen.

250 - Gestaltung der mnogosearch Eingabe und Ergebnis-Ausgabe mit css

Hier muss also dem originalen Manual etwas (nach-) geholfen werden, wenn man es noch nie gemacht hatte.

Darum nochmal: Ich habe diese Extension nicht "local" sondern (im ersten Web) "global" installiert. (war leider ein Fehler - Stand Feb. 2010 - es geht - mit Dmitrys Pagebrowser - bisher nur local !!) ) Es müssen bei uns später nämlich insgesamt 8 Domains diese gleiche Extension (auf demgleichen Server) benutzen und die Ergebnisse sollen jeweils ähnlich dargestellt werden. (Also die Installation als "global" wäre bzw. ist ideal !!)

So müssen im globalen Verzeichnis . . . . oh ?? Mist, was war das ?
Sie müssen leider viel "Spielen", noch mehr Googeln und dann empirisch Erproben. Irgendwann geht es und Sie wissen fast nicht mehr - warum.

Es ist jetzt 2.45 am 30.12.2009 und es geht erst mal überhaupt. Das Fehlerchen zeigte sich erst beim Blättern in die Folgeseiten, das geht "global" nämlich nicht.

(hier ist das repariert, also "local" installiert !!!)
http://www.fernsehmuseum.info/die-schnelle-suchseite.html?&no_cache=1

251 - ein Backup ist nicht verkehrt

Der kluge Mensch wirft jetzt dennoch eine Typo3 Datensicherung an und verabschiedet sich erst, wenn die durchgelaufen ist.

260 - Wenn Programmierer am Werk sind . . . .

Ich habe jetzt also 3 Extensions von Dmitry "global" installiert. (Leider hatte es im Feb 2010 nur "local" funktioniert - inzwischen in 2011 geht es im "global" Modus.)

  1. mnoGoSearch mnogosearch 2.2.2
  2. pagepath 0.1.5 - inzwischen 1.0.0 (Ob diese hier gebraucht wird ?? Ist sie nicht da, wird ein Fehler ausgeworfen.)
  3. Universal page browser pagebrowse 1.0.1 - inzwischen 1.3.0

-
Alle 3 "wohnen" im typo3/ext/ - Bereich (bei einer "local" Installation natürlich nicht.)
-

  • typo3/ext/mnogosearch
  • typo3/ext/pagepath
  • typo3/ext/pagebrowse

-
Für die ebenfalls globale Nutzung auf einzelnen Web-Ebenen hatte ich den mir voher bekannten deutschen Page-Browser "cag_pagebrowser 1.2.1" bereits vorher installiert, auch global !! Anfänglich (als es nicht ging) hatte ich Kollisionen im TS vermutet, doch die beiden Pagebrowser kollidieren nicht miteinander.

262 - die kleinen Unterschiede

Es gibt in jedem der drei (obigen) Extension- Verzeichnisse jeweils drei weitere Verzeichnisse,

  • pi1
  • static
  • resources (manchmal verwirrender weise auch nur "res" genannt)

-

. . . . in denen ich etwas geändert habe.

In "typo3/ext/mnogosearch/static/mnoGoSearch/" stehen die Dateien setup.txt und constants.txt. Die bleiben (bei uns) dort stehen, das sind die TS Codes, die sonst bei uns im Seiten-Template stehen.

264 - Und jetzt kommts: WICHTIG !!! pagebrowser "Include"

In die Datei
/==domainroot==/typo3/ext/mnogosearch/static/mnoGoSearch/setup.txt
wird der Inhalt von
/==domainroot==/typo3/ext/pagebrowse/static/page_browser/setup.txt
wie folgt eingefügt:

# Enable mnoGoSearch
config.tx_mnogosearch_enable = 1

# ===== das hier ist also eingefuegt aus der "Sub- Extension" tx_pagebrowse

# Declare plugin
# Feel free to change the plugin to be USER_INT if necessary! repariert laut issue 4886 - 29.12.2009 gr

plugin.tx_pagebrowse_pi1 = USER_INT
plugin.tx_pagebrowse_pi1 {
# USER_INT support
    includeLibs = EXT:typo3/ext/pagebrowse/pi1/class.tx_pagebrowse_pi1.php
    userFunc = tx_pagebrowse_pi1->main
# Template file
    templateFile = {$plugin.tx_pagebrowse_pi1.templateFile}
# Extra parameters to the query string. Must start with & if not empty
    extraQueryString =
# Number of page links to show before the current page
    pagesBefore = 3
# Number of page links to show before the current page
    pagesAfter = 3
# GET variable name for page pointer. Examples: "page" or "tx_exykey_pi1|page". Notice that array separator is pipe (one level only!)
    pageParameterName = tx_pagebrowse_pi1|page
# Enables section for "more" pages. This section is shown after links to next pages, normally like three dots (1 2 3 ...). Notice that you can also hide it by emptying corresponding template section.
    enableMorePages = 1
# Enables section for "less" pages. This section is shown after links to next pages, normally like three dots (1 2 3 ...) Notice that you can also hide it by emptying corresponding template section.
    enableLessPages = 1
}

# ===== hier geht es weiter mit dem Original TS von tx_mnogosearch

# Declare plugin
plugin.tx_mnogosearch_pi1 = USER_INT
plugin.tx_mnogosearch_pi1 {
    includeLibs = EXT:mnogosearch/pi1/class.tx_mnogosearch_pi1.php
    userFunc = tx_mnogosearch_pi1->main

    # Template file
    templateFile = {$plugin.tx_mnogosearch_pi1.templateFile}

. . . . .  und so weiter und so weiter  . . . . . . .

-

266 - Wie es (unglücklich) im Handbuch von pagebrowse steht

Im Handbuch steht, man möge den folgenden Code

/vol2/www/www.fernsehmuseum.info/typo3/ext/pagebrowse/static/page_browser/setup.txt

im "Haupttemplate" einfügen. Das ist aber wirklich sehr ungeschickt ausgedrückt !!! (eine wohlwollende Umschreibung!!). Bei mir ist das (oder ein) Haupttemplate immer das der root Seite. Man muß das hier aber anders sehen:

Voraussetzung ist nämlich (aber ungesagt), daß diese "pagebrowse" Geschichte ja KEINE eigenständige Extension ist, sondern eine Extension "in" einer "Haupt-" Extension und damit muß/soll der TS-Code (nicht in die root-Seite des Webs oder in die mnogo Anzeige-Seite sondern) in den TS-Code der Haupt-Extension eingebaut werden.
-

Wenn man es weiß, ja dann . . . .

-

270 - und endlich gehts ans Styling

Bis hier her war es ein sehr (zu) langer Kampf um das Verstehen der Gedanken eines völlig anderen Programmier- und Denk- Stiles. Zum Glück sind wir hart im Nehmen und meist auch noch lernfähig.

Konträr zu den Gedanken und Vorgaben der Typo3 Core Entwickler habe ich das Styling der mnogosearch Eingabe und Ausgabe weitgehend im "global" Bereich der Extensions vorgenommen. Das mag jetzt keine Empfehlung sein, kommt aber meinen Vorgaben bezüglich Effizienz am nächsten.

Insbesondere das css hatte ich anfänglich in mein Content-css eingebaut, doch die Suche möchte ich farblich und technisch global designen (wie gesagt nur bei mir!).

272 - Styling von mnogosearch

In der Datei
/vol2/www/www.fernsehmuseum.info/typo3/ext//mnogosearch/resources/styles.css
stehen die css Formatierungen der Eingabefelder wie auch der Ausgabeseiten. Die Reihenfolge der Zeilen habe ich etwas gruppiert.

/* Search results */

.tx-mnogosearch-short-search-form fieldset  {padding: 2px 2px 2px 10px; margin: 3px 0 3px 0; border:1px green solid; } /* kleines Eingabefeld */
.tx-mnogosearch-long-form fieldset         {border: none;}
.tx-mnogosearch-form-field                {clear: left; margin-bottom: 5px; overflow: hidden;}
.tx-mnogosearch-form-field label          {display: block; float: left; padding-right: 9px; width: 200px;}
#tx_mnogosearch_pi1_submit            {margin-left: 0px;}

.tx-mnogosearch-summary      {background-color: #99FF66; padding: 3px 2px 2px 10px; margin: 3px 0 3px 0; border:1px gray solid; font-weight: bold; } /* die Zusammenfassung */
.tx-mnogosearch-page-browser    {padding: 15px 0; margin: 10px 0;}
.tx-mnogosearch-summary-value {font-weight: bold;}

#tx-mnogosearch-results            {margin: 4px 0;} /* der gesamte Ergebnis-Block - alle Fundstellen */
ol#tx-mnogosearch-result         {list-style: none inside none; padding: 0 0;}
ol#tx-mnogosearch-result > li       {margin-bottom: 6px; padding: 1px 4px 2px 4px ; background:white; border:1px orange solid; }   /* Format gesamte Fundstelle !! */
.tx-mnogosearch-pi1-result-excerpt-selection {font-weight:b; color:red !important; background-color:yellow; padding:0px 2px 0px 2px; } /* Fundstellen  ;border:1px 0px 1px 0px red solid */

ol#tx-mnogosearch-result > li img { vertical-align: middle;}
#tx-mnogosearch-result p           { margin: 0 0; padding: 0 0;}
ol#tx-mnogosearch-result li h3    { font-weight: bold; font-size: 16px; margin: 0px 0 4px 0px;} /* Format nur fuer Header 3 */
ol#tx-mnogosearch-result li h3 a { text-decoration: underline;}

.tx-mnogosearch-result-url           {margin: 0 0; padding: 0 0; font-size: 90%; color: #008000;}
.tx-mnogosearch-relevancy-bg-bar {display: block;width: 48px;height: 5px;padding: 2px 1px; background-image: url(images/relevance.gif); float: left;margin: 5px 10px 0 0;}
.tx-mnogosearch-relelvancy-fg-bar {display: block; background-color: #A7D3A7; color: #A7D3A7; height: 5px; overflow: hidden;}
.tx-mnogosearch-result-excerpt      {margin: 3px 0 0 0; padding: 0 0;}
.tx-mnogosearch-result-excerpt-selection {}
.tx-mnogosearch-result-links         {border-left: 5px solid #e7e7e7; padding-left: 5px;}
.tx-mnogosearch-result-links ul     {display: none; list-style: none inside none; padding: 1px 0 3px 20px; margin: 0 0;}

276 - Styling der pagebrowse Zeile

Dieses Styling steht (auf unseren Servern) hier
/vol2/www/www.fernsehmuseum.info/typo3/ext/pagebrowse/res/styles.css

Zu beachten ist, daß Dmitry hier das "resource" Verzeichnis zu "res" abgekürzt hatte ?????

.tx-pagebrowse { text-align: center; list-style: none inside none; padding: 0 0; margin: 0 0; width: 100%; }
.tx-pagebrowse li { display: inline; list-style: none; margin: 0 0; padding: 0 5px 0 0; }
li.tx-pagebrowse-pages { width: 80%; }
li.tx-pagebrowse-pages ol { display: inline; margin: 0 0; padding: 0 10px; }

280 - (Vereinfachung) durch Probieren herausgefunden

("page_browser" TS in "mnoGoSearch" TS veschieben)
Nachdem so Einiges nicht funktioniert, habe ich durch simples Probieren herausgefunden, daß man die
typo3/ext//pagebrowse/static/page_browser/setup.txt
in die
typo3/ext///mnogosearch/static/mnoGoSearch/setup.txt
einfügen kann
und die
typo3/ext//pagebrowse/static/page_browser/constants.txt
in die
typo3/ext///mnogosearch/static/mnoGoSearch/constants.txt .

Gleiches (Cut and paste) gilt auch für die typo3/ext//pagebrowse/res/styles.css
dies css ist jetzt auch in mnoGoSearch eingefügt worden.

Ich habe also aus 6 Konfigurationsdateien nur noch 3 gemacht.

Dafür brauche ich im Template meiner Suchseite das "Statische Template" Page Browser nicht mehr einzufügen, mnogosearch reicht (so scheint es) jetzt aus.
Stand vom 31.12.2009 - (Ich habe diese schnelle mnogo Suche noch nicht auf jeder Seite oben rechts im Suchfeld drinnen, dort ist zur Zeit noch die sequentielle Standard-Suche eingebaut.)

294 - eine zweite Installation - aber nun "local"

Diese sogenannte "global" Installation der Extension hatte nicht funktioniert. Der Pagebrowser der Ergenisliste ging nicht. Das ist betrüblich, denn es müsste nicht sein.

Hier geht es weiter mit der zweiten Installation jetzt aber "local".

Ich habe dennoch jetzt (18.3.2010) eine "global" Installation am Laufen und es geht, weiß aber nicht, warum.

Hier unten stehen die Quell-Texte der einzelnen Dateien im Klartext.

310 - aktuelles Constants TS für beide ext.

plugin.tx_mnogosearch_pi1 {
    templateFile = EXT:mnogosearch/resources/template.html
    resultsPage = 1094
    siteList =
    resultsPerPage = 50
}
plugin.tx_pagebrowse_pi1 {
    templateFile = EXT:pagebrowse/res/template.html
}

320 - aktuelles Setup TS für beide ext.

# Enable mnoGoSearch
config.tx_mnogosearch_enable = 1
# Declare plugin - habe ich hier aus pagebrowse setup.txt eingefügt
plugin.tx_pagebrowse_pi1 = USER_INT
plugin.tx_pagebrowse_pi1 {
    includeLibs = EXT:typo3/ext/pagebrowse/pi1/class.tx_pagebrowse_pi1.php
    userFunc = tx_pagebrowse_pi1->main
    templateFile = {$plugin.tx_pagebrowse_pi1.templateFile}
    extraQueryString =
    pagesBefore = 3
    pagesAfter = 3
    pageParameterName = tx_pagebrowse_pi1|page
    enableMorePages = 1
    enableLessPages = 1
}

# Declare plugin
plugin.tx_mnogosearch_pi1 = USER_INT
plugin.tx_mnogosearch_pi1 {
    includeLibs = EXT:mnogosearch/pi1/class.tx_mnogosearch_pi1.php
    userFunc = tx_mnogosearch_pi1->main
    templateFile = {$plugin.tx_mnogosearch_pi1.templateFile}
    mode = long_form,results
    form {
        resultsPage = {$plugin.tx_mnogosearch_pi1.resultsPage}
        advanced {
            siteSelector = disabled
            siteSelector.searchAll = 1
            siteSelector.exclude =
            siteSelector.default =
        }
    }
    # Search options
    search {
        time_format = %0.3f
        resultTime_stdWrap {
            setContentToCurrent = 1
            if.isTrue.current = 1
            strftime = %x %X
            noTrimWrap = |– ||
        }
        siteList = {$plugin.tx_mnogosearch_pi1.siteList}
        # Search options
        options {
            track_queries = 0
            cache_queries = 1
            use_spell_data = 1
            crosswords = 1
            detect_clones = 0
            phrase_search = 1
            suggest_mode = 1
            search_word_forms = 1
        }
        extendedConfiguration {        }
        resultsPerPage = {$plugin.tx_mnogosearch_pi1.resultsPerPage}
        number_stdWrap.wrap = <b>|</b>
        minimumWordLength = 3
        maximumWordLength = 32
        excerptSize = 384
        excerptPadding = 20
        excerptHighlight = <span class="tx-mnogosearch-pi1-result-excerpt-selection">|</span>
        sortMode = RPD
        numberOfSections = 4
        weightFactor = 00F8
        pageBrowser < plugin.tx_pagebrowse_pi1
        pageBrowser.disableCacheHash = 1
    }

    defaultFileIcon = EXT:mnogosearch/resources/icons/file.png
    icons {
      .......
    }
}

330 - die aktuelle css Datei für beide ext.

/* Search results */

.tx-mnogosearch-short-search-form fieldset  {padding: 2px 2px 2px 10px; margin: 3px 0 3px 0; border:1px green solid; } /* kleines Eingabefeld */

.tx-mnogosearch-long-form fieldset         {border: none;}

.tx-mnogosearch-form-field                {clear: left; margin-bottom: 5px; overflow: hidden;}

.tx-mnogosearch-form-field label          {display: block; float: left; padding-right: 9px; width: 200px;}

#tx_mnogosearch_pi1_submit            {margin-left: 0px;}

.tx-mnogosearch-summary      {background-color: #99FF66; padding: 3px 2px 2px 10px; margin: 3px 0 3px 0; border:1px gray solid; font-weight: bold; } /* die Zusammenfassung */

.tx-mnogosearch-page-browser    {padding: 0px 0; margin: 0px 0;}

.tx-mnogosearch-summary-value {font-weight: bold;}

#tx-mnogosearch-results            {margin: 4px 0;} /* der gesamte Ergebnis-Block - alle Fundstellen */

ol#tx-mnogosearch-result         {list-style: none inside none; padding: 0 0;}

ol#tx-mnogosearch-result > li       {margin-bottom: 6px; padding: 1px 4px 2px 4px ; background:#F1EFE2; border:1px orange solid; }   /* Format gesamte Fundstelle !! */

.tx-mnogosearch-pi1-result-excerpt-selection {font-weight:b; color:red !important; background-color:yellow; padding:0px 2px 0px 2px; } /* Fundstellen  ;border:1px 0px 1px 0px red solid */

ol#tx-mnogosearch-result > li img { vertical-align: middle;}

#tx-mnogosearch-result p           { margin: 0 0; padding: 0 0;}

ol#tx-mnogosearch-result li h3    { font-weight: bold; font-size: 16px; margin: 0px 0 4px 0px;} /* Format nur fuer Header 3 */

ol#tx-mnogosearch-result li h3 a { text-decoration: underline;}

.tx-mnogosearch-result-url           {margin: 0 0; padding: 0 0; font-size: 90%; color: #008000;}

.tx-mnogosearch-relevancy-bg-bar {display: block;width: 48px;height: 5px;padding: 2px 1px; background-image: url(images/relevance.gif); float: left;margin: 5px 10px 0 0;}

.tx-mnogosearch-relelvancy-fg-bar {display: block; background-color: #A7D3A7; color: #A7D3A7; height: 5px; overflow: hidden;}

.tx-mnogosearch-result-excerpt      {margin: 3px 0 0 0; padding: 0 0;}

.tx-mnogosearch-result-excerpt-selection {}

.tx-mnogosearch-result-links         {border-left: 5px solid #e7e7e7; padding-left: 5px;}

.tx-mnogosearch-result-links ul     {display: none; list-style: none inside none; padding: 1px 0 3px 20px; margin: 0 0;}

/* der Dmittry pagebrowser */
.tx-pagebrowse { text-align: center; list-style: none inside none; padding: 0 0; margin: 0px; ; border:1px solid orange; font-weight: bold; ; background-color: #FFFFCC}

.tx-pagebrowse li { display: inline; list-style: none; margin: 0 0; padding: 0 5px 0 0; }

li.tx-pagebrowse-pages { width: 80%; }

li.tx-pagebrowse-pages ol { display: inline; margin: 0 0; padding: 0 16px; }

350 - Wishlist bzw. Änderungen

  1. Verwöhnt durch die Markierung der Suchschlüssel (= Suchwörter der sequentiellen Typo3 Standard-Suche) in den über den Link angezeigten (Ziel-) Seiten möchte ich auch diese Funktion ergänzen. Die Standardsuche hängt auf der Fundstellen-Ausgabe-Seite am Ende eines jeden Links eine spezielle Option dran. Das war eine super Idee.
    Beispiel:
    (www.useddlt.com/ampex-200a.html?&no_cache=1&sword_list[]=ampex) =
    www.useddlt.com/ampex-200a.html

  2. Aus Gründen der Übersicht wäre es vorteilhaft, vor jeder Fundstelle die laufende Nummer anzuzeigen, meinetwegen auch mit dem Link hinterlegt.

Zurück zur Startseite ----- © 2009 / 2018 - Copyright by Dipl. Ing. Gert Redlich - Zum Telefon - - - - NEU : Zum Flohmarkt