Dieser Artikel ist über 1 Jahr alt. Deshalb könnten die Informationen hier veraltet sein.

2. Juli 2010

TYPO3-Tutorial Teil 45: Inhalte anlegen – Suchformular

Geschätzte Lesezeit: 7 Sekunden

Um Suchen und Finden geht es in diesem Teil der TYPO3-Screencasts. Wir verwenden dafür die bei TYPO3 mitgelieferte Suchmaschine „Indexed Search Engine“.

Viel Spaß!


Alle TYPO3-Tutorials kostenlos downloaden

Artikel wurde gefunden mit den Suchbegriffen:
  • typo3 suchformular
  • PHP Catchable Fatal Error: Argument 2 passed to tx_form_Controller_Form::cObjGetSingleExt() must be an array null given called in
  • php catchable fatal error: argument 2 passed to tx_form_controller_form::cobjgetsingleext()
  • php catchable fatal error: argument 2 passed to tx_form_controller_form::cobjgetsingleext() must be an array null given
  • typo3 indexed search tutorial
  • php catchable fatal error: argument 2 passed to tx_form_controller_form::cobjgetsingleext() must be an array

Kommentare

Kommentare

Wolfgang Wagner

lebt in Friedrichshafen und arbeitet als Web Developer bei der TYPO3 Agentur jweiland.net in Filderstadt.

Weitere Orte im Web:
Twitter, Facebook, Videotraining zu TYPO3 8 LTS

Kommentare (47) Schreibe einen Kommentar

  1. An dieser stelle komm ich nicht mehr umher dir meine Dankbarkeit zu Ausdruck zu bringen. In den Tutorial ist alles bestens erklärt. Ich dachte immer Typo3 wäre viel zu kompliziert um es bei jedem Projekt anwenden zu können. Aber inzwischen hab ich, dank deiner Anleitung, schon 3 Projekte zum Abschluß gebracht.
    Wenn man Wert auf Gestaltung und JavaScript Effekte legt ist Typo3 wirklich sehr gut geeignet.

    Vielen Dank nochmal!

    Gruß, Marco

    Antworten

    • Hi, freut mich, dass dir die Videos helfen konnten. 🙂

      Ja, kompliziert ist TYPO3 manchmal schon, aber auch unglaublich flexibel, und es gibt nur sehr wenig, was man nicht damit machen kann.

      Antworten

  2. Hallo Wolfgang,

    vielen Dank für die Tutorials, sehr hilfreich und gut erklärt!

    Zu diesem Tutorial hätte ich dennoch eine Frage, und war wie kann ich ein Suchfeld im Header erzeugen, mit den gleichen Funktionalität wie hier die Seite-Suche ?

    Viele Grüße. Ben

    Antworten

      • Hallo Wolfgang,

        ich komme mit der extension nicht voran, ich habe das in deinem Wiki gefunden: http://wiki.wowa-webdesign.de/doku.php?id=typo3:macina-searchbox-html

        1. wird macina_template.html bei der Instalaltion von der extension mitinstalliert ?
        2. könntest du bitte kurz erklären was A und B sind, wo sie eingefügt werden sollen?

        3. ob es nach diesen Einstellungen, die macina_searchbox einwandfrei auf jede Seite angezeigt wird und funktionsfähig ?

        Viele Grüße
        Max

        Antworten

        • Hi,

          zu 1.:
          ich glaube ja, aber die Variante im wiki ist eine für mich angepasste Version, die ich normalerweise verwende.

          zu 2.:
          A: dabei wird die HTML-Datei als Template eingebunden. Das Typoscript muss dann ein dein Setup. Wobei ich hier das ganze an einen Marker binde, bei Verwendung von Templavoila sieht das dann dementsprechend ein klein wenig anders aus.

          B: hier wird der HTML-Code für die Suchbox direkt per Typoscript erzeugt, ohne ein HTML-Template.

          Welche der beiden Varianten man verwendet, ist Geschmacksache.

          zu 3.: bei mir hat’s bisher immer funktioniert.

          Antworten

  3. Hi,

    # danke für die schnelle Antwort. Ich werde es mal probieren!

    # mal eine Verständnisfrage:
    Wenn man für Kunden arbeitet, dann macht man ja Tests und Änderungen wahrscheinlich nicht an der Live-Version, sondern an einer identischen 2.-Version, damit die Live-Version nicht flöten geht?

    Wie sieht da Euer Vorgehen genau aus?
    – Habt ihr zwei geklonte Versionen? Wenn ja, wie legt man die an?
    – Wenn ihr Änderungen gemacht habt, legt ihr die Änderungen dann in der Live-Version nochmals an oder klont ihr wieder?

    – was kann man am sichersten ein Back up machen.

    p.s: gibt es vielleicht ein VideoTutorial zum Thema Backup

    Gruß, Ben

    Grüße

    Antworten

    • Wenn ich eine Seite komplett neu mit TYPO3 erstelle, mache ich das ganze live. Falls schon eine alte Website vorhanden ist, mache ich das ganze evtl. auf einer Subdomain, die anfangs noch Zugriffsgeschützt ist, damit nicht jeder drauf kann.

      Wenn Änderungen an einer bestehenden TYPO3-site anstehen, versuche ich tatsächlich, das ganze nach Möglichkeit an einer Kopie der Seite zu machen. D.h. alle Dateien z.B. in eine Subdomain, eine Kopie der Datenbank anlegen usw. Wenn dann die Arbeiten fertig sind, leite ich den Document Root der alten Seite auf die neue TYPO3-Installation um.

      Leider geht das aber nicht immer, vor allem wenn Kunden einen weniger geeigneten Webspace haben.

      Antworten

      • > Wenn dann die Arbeiten fertig sind, leite ich den Document Root der alten Seite auf die neue TYPO3-Installation um.

        Was heisst das konkret? wo findet man das Document Root? wie leitet man das?

        Antworten

  4. Vielen Dank für das wiedereinmal sehr gute Torial Wolfgang! Kann einer von Euch mir noch sagen, wie ich die Such-Ergebnisseite modifizieren kann? Ich möchte gerne den Link „Erweiterte Suche“ entfernen und die Angaben (Größe, Erstellt, Geändert) über den Pfad entfernen. Weiß jemand zufällig wo ich diese Angaben finden kann?

    Antworten

    • Die indexed_Search verwendet ein HTML-Template für die Ausgabe. Das kannst du nach belieben verändern. In der Dokumentation der Extension solltest du dazu etwas finden.

      Antworten

  5. Sorry, aber wo finde ich die Dokumentation? In den Extensions auf typo3.org finde ich die indexed_search nämlich nicht.

    Antworten

  6. Hallo Wolfgang,

    beim Update unserer Firmenseite hab ich das Suchformular nun via Templavoila in den Header gemappt.

    Dazu verwende ich ein Typoscript-Lib-Objekt, welches bislang auf der alten Website (ohne TV) bei Eingabe eines Suchbegriffs problemlos zur Suchergebnis-Seite wechselte und dort die Ergebnisse angezeigt wurden (das Typoscript-Lib-Objekt entspricht in etwa dem hier: http://www.typo3wizard.com/de/snippets/cool-stuff-typoscript/ts-basierte-searchbox-fuer-indexed-search.html).

    Jetzt allerdings wird nur noch zur Suchergebnis-Seite gewechselt, dort aber erscheinen die Ergebnisse nicht mehr, stattdessen nur das blanke Suchformular, welches problemlos funktioniert (d.h.Suchanfragen zu Ergebnissen führen).

    Geht mein Vorhaben prinzipiell nicht, oder gibt es irgendetwas, auf das speziell geachtet werden muss?

    Würde mich über Tips/Ideen riesig freuen!

    Gruß
    Marcel

    Antworten

  7. lol! Die Antwort kann ich selbst beantworten: Ja, es geht. Dazu muss das Inhaltselement als Typ Plugin verwenden mit dem Plugin-Typ „Indexed Search“ und nicht das Suchen-Formular. Argh! 🙂

    Antworten

  8. @ Marcel: könntest du bitte deine Vorgehensweise als Vervollständigung zu diesem Tutorial genauer Erläutern (mit Code & Schritte etc)!

    Wäre klasse wenn dies klappen würde.

    @All: hat jemand vielleicht eine Idee & Erfahrung wie man so eine Bilder Galerie in Typo3 erstellen konnte, so dass alle Produkte sehr aufgeräumt aussehen und vergrößerbar sind. Gibt es eine extension hierzu ?

    Beispiel Seiten:

    http://www.parsley-krawatten.de/sortiment.php
    oder
    http://www.parsley-krawatten.de/pay_product_info.php?cPath=169
    p.S: keine Werbung, gilt nur als Darstellung.

    Danke im Voraus
    VG Max

    Antworten

  9. Hallo,

    ein wirklich gutes Tutorial zum Thema indexed_search_engine. Mein Problem ist, das die Extension installiert ist und auch im TS Setup mit

    config.index_enable = 1
    config.index_externals = 1

    die Indexierung erlaubt wird, allerdings wird nix indiziert (alles 0) und in den Informationen zum Plugin im Extensionsmanager steht rot bei Datenbankstatus:

    Tabellenfehler!
    Wahrscheinlich fehlen ein oder mehrere Felder/Tabellen in der Datenbank!

    Was muss ich tun? Die Möglichkeit, im Extensionmanager eine Übersetzung auszuwählen, habe ich auch nicht. Ich verwende Version 4.4.7

    Vielen Dank!

    Antworten

  10. Hallo Wolfgang,

    habe die Extension neu intalliert, der Tabellenfehler bleibt jedoch bestehen. Ich habe in der Datenbanküberprüfung gesehen, das da noch viele alte Datensätze aus meiner Anfangszeit, als ich noch herumgebastelt habe, übrig geblieben sind. Die sind alle auf nicht sichtbar geschaltet, ich kann sie auch nur in der Datenbanküberprüfung sehen, sonst nirgends (vor allem nicht im Seitenmodul).

    Kann der Fehler daher kommen? Und wenn ja, wie lösche ich diese Datensätze?

    Vielen Dank!

    Antworten

    • Ich nehme an, dein Hoster bietet auch phpmyadmin an? Wenn nicht, gibt es auch eine T3-Extension dafür. Ich würde mal versuchen, die Extension zu deinstallieren, mit phpmyadmin alle zu der Extension gehörenden Tabellen zu löschen und dann die Ext. neu zu installieren.

      Antworten

  11. Hallo Wolfgang,

    vielen Dank. Ich habe indexed_search deinstalliert und phpmyadmin installiert und es läuft.Es gibt in der Datenbank jede Menge Einträge, allerdings weiß ich nicht, zu welcher Extension die gehören:
    u.a. 10 Tabellen mit Namen index_xyz, z.B. index_config. Sind das die Tabellen, die zu indexed_search gehören ? Ich traue mich nicht, die einfach so zu löschen….

    Vielen Dank für deine Mühe am Ostermontag 🙂

    Antworten

  12. Hallo Wolfgang,

    die Tabellen gehören dazu. Ich habe also die indexed_search deinstalliert, mit phpmyadmin die 10 Tabellen gelöscht. Dann indexed_search neu installiert, bei der Installation wurden die 10 Tabellen auch wieder neu angelegt, der Fehler bleibt jedoch derselbe. Ich habe die indexed_search wieder deinstalliert, mit dem Install-Tool die Datenbank aktualisiert, COMPARE durchgeführt, dabei wurden die alten Tabellen gelöscht, indexed_search wieder installiert – der Fehler bleibt derselbe. da es nicht an Tabellen liegen kann (die sind ja da) muss es also an den Feldern in den Tabellen liegen. Aber spätestens da kenne ich mich nicht genügend aus – ich bin mit meinem Latein am Ende.

    Viele Grüße aus Berlin!

    Antworten

  13. Hallo Wolfgang,

    jetzt klappts. Hatte vergessen, das im TS noch aus den Anfangszeiten die no_cache aktiviert war. Habe das rausgenommen UND (zumindest bei meinem Mac) muss ich das Frontend über einen anderen Browser bedienen, damit im Cache was eingetragen wird. Trotzdem vielen Dank für deine Ratschläge, jetzt habe ich mich wenigstens mal den Datenbanktabellen beschäftigt.

    🙂 🙂 🙂

    Viele Grüße!!

    Antworten

    • Dieser Tipp rettet admin-leben. Scheint damit zusammenzuhängen, ob man im Backend angemeldet ist und deshalb evtl. nicht gecacht/indiziert wird beim Aufruf des Frontends!?

      Antworten

  14. Hi,

    ich bin gerade dabei deine klasse Tutorials durchzugehen.
    Mein Problem ist jedoch, dass indexed_search sich standhaft weigert eine Seite zu indizieren.

    Ich habe mir das Video mehrfach angeschaut, kann aber meinen Fehler nicht finden. Hättest du einen Tipp für mich?

    Antworten

  15. Sag mir bitte welche Informationen du benötigst, damit ich dir die Frage beantworten kann 🙂

    Ich nutze Typo3 4.5 und meine config sieht wie folgt aus.

    config {
    admPanel = 0
    headerComment (
    Diese Seite wurde erstellt von:
    )

    doctype = xhtml_trans
    xhtmlDoctype = xhtml_trans
    htmlTag_langKey = de_DE
    xhtml_cleaning = all
    xmlprologue = none
    disablePrefixComment = 1
    index_enable = 1
    index_externals = 1
    no_cache = 0
    baseURL =
    absRefPrefix =
    spamProtectEmailAddresses = ascii
    spamProtectEmailAddresses_atSubst = (at)
    removeDefaultJS = external
    inlineStyle2TempFile = 1
    noScaleUp = 1
    meaningfulTempFilePrefix = 50
    sys_language_uid = 0
    language = de
    locale_all = de_DE
    simulateStaticDocuments = 0
    tx_realurl_enable = 1
    }

    Antworten

  16. Hi,

    also mein Backend sieht genauso aus wie dein Screenshot.

    Ich hab festgestellt, wenn ich noch mal separat zur config folgende Zeilen einfüge, indeziert er.

    page.config.index_enable = 1
    page.config.index_externals = 1

    Besteht da ein Unterschied oder lässt sich aus dem Ergebnis mein Fehler vllt ableiten?

    Ich hab auch oft gelesen, das Extension eine Ursache sein können. Wie kann man dies feststellen?

    Antworten

    • Jetzt, wo du das schreibst, erinnere ich mich, das schon mal irgendwo gelesen zu haben, aber woran das liegt, Bug oder Feature, weiss ich nicht mehr. Aber wenn es jetzt geht, passt’s ja 😉

      Antworten

  17. Hallo,
    kann es sein das nach dem update auf 4.6 index search nicht mehr funktioniert.
    Denn seit dem Update kommt wenn ich unter formulare suche eine Seite erstelle bei der ansicht diese fehlermeldung:
    Oops, an error occurred!

    PHP Catchable Fatal Error: Argument 2 passed to tx_form_Controller_Form::cObjGetSingleExt() must be an array, null given, called in /home/.sites/119/site1602/web/typo3/sysext/cms/tslib/class.tslib_content.php on line 594 and defined in /home/.sites/119/site1602/web/typo3/sysext/form/Classes/Controller/Form.php line 102

    und bei einer Seite mit dem plug in wird mir zwar die seite angezeigt aber kein suchfeld und im quelltext finde ich nur das.

    Ware über jede Hilfe dankbar.
    Flo

    Antworten

    • Habe leider immer noch das selbe Problem bin aber mit ein wenig Ausprobieren draufgekommen das es vielleicht etwas mit der extension „Form (v0.9.0) zu tun hat den sobald ich diese deinstalliere wird mir auf der suchseite zumindest das Eingabefeld angezeigt. Leider wird bei einer Suche kein ergebniss geliefert.

      Wäre immer für eine hilfe sehr dankbar.

      Flo

      Antworten

        • Hi

          ich arbeite nach dem „Praxiswissen Typo3“ Buch von Robert Meyer und hatte mit Typo3 4.6.4 auch diesen Bug

          durch deinstallieren des Form-plugins konnte ich das ganze beheben. Ich habe danach anhand des Buches weiter gearbeitet und werde hier mal den TypoScript-Code den ich verwendet habe reinstellen.

          Dies muss ausserhalb des page-teils stehen

          #Das Suchformular anpassen
          tt_content.search.30 {
          target = _self
          badMess = Bitte füllen sie alle erforderlichen Felder aus:
          dataArray.10{
          label.override = Ihre Suche:
          type = *sword = input, 15, 30
          }
          dataArray.20{
          valueArray >
          type = scols = hidden
          value = pages.title-subtitle-keywords-description:tt_content.header-bodytext-imagecaption
          }
          image = IMAGE
          image.file = GIFBUILDER
          image.file {
          XY = 50,20
          backColor = silver
          10 = TEXT
          10.text = SUCHE
          10.fontFile fileadmin/fonts/verdana.ttf
          10.fontColor = black
          10.fontSize = 11
          10.niceText = 0
          10.offset = 2, 15
          }
          }

          Antworten

  18. hallo Wolfgang,
    bei mir lässt sich das Suchformular auf die Seite Suche nicht zeigen.
    Ich benutze Typo3 4.5.6
    Ich habe alle Schritte wie aus den video verfolgt.

    please help me

    Antworten

  19. hallo Wolfgang,
    alles funktioniert jetzt(Sitemap, suchfkt).
    also ich verstehe nicht was passiert. ich werde versuchen zu verstehen.
    grösser dank.

    Antworten

  20. hallo wolfgang

    ich muss sagen mir haben deine videos wirklich sehr viel geholfen. Dank dem Tutorial über das Suchfeld hab ich meiner Verzweiflung ein Ende gesetzt =)

    Ich hab nur eine Frage, woran kann es liegen, dass es bei mir nicht auf deutsch übersetzt wird, obwohl es aktualisiert wurde in der Bibliothek. Habe auch Cache gelöscht und mehrmals aktualisiert. Aber es bleibt englisch =)

    Lg Steffi

    Antworten

  21. Ich nutze Indexed Search mit der Erweiterung Macina Searchbox. Alles klappt wunderbar. Einzig ein Problem habe ich: Die Macina Searchbox erscheint bei mir via Platzhalter ###SEARCH### auf jeder Seite. Starte ich dort eine Suche, erscheint anstelle von Resultaten die Seite mit dem Indexed Search Plugin, wo ich erneut suchen muss. Wenn ich dann dort suche, listet es mir Suchresultate auf…
    Wie löst ihr das Problem?

    Antworten

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.