Irgendwie hat mir der Name der no_indexed_search nicht mehr gefallen und in der Welt des TYPO3 fand er auch nicht unbedingt großen Anklang
Darum habe ich mich für einen anderen Namen entschieden. YATSE (sprich Jatze, wie das Würfelspiel) als Yet Another TYPO3 Search Engine ist jetzt im TER zu finden.
Auch habe ich die Namensänderung genutzt, um das Auslesen des Seiteninhalts zu ändern. Nicht mehr über eine eigene SQL-Abfrage sondern über einen TYPO3-Hook lese ich den fertigen Seiteninhalt aus. Vorteil hierbei: Inhalte, die über TS eingefügt wurden sowie FCE werden jetzt mit indiziert.




















Ich habe mal eine Frage zu YATSE (v0.3.3).
Und zwar werden bei mir nach Backend-Änderungen keinerlei Einträge in die Tabelle tx_yatse_content gemacht.
Daraufhin habe ich mir den Code vom Indexer hook angeschaut.
Hier gibt es kein einziges INSERT Statement das Einträge in diese Tabelle vornehmen würde.
Ich frage mich was der Code der Funktion getTableContent bezwecken soll. Es wird etwas in $content geschrieben aber dann erfolgt keine Weiterverarbeitung. Müsste anschließend nicht $content in die Datenbanktabelle geschrieben werden?!
Hallo, ich habe eine Frage zu YATSE.
In die Tabellen der Datenbank schreibt es mir keine Umlaute sondern nur zerschossene Zeichen. Wenn ich mit phpMyAdmin die ganzen ? gegen Umlaute austausche (z. B. Gew?hr zu Gewähr) und speichere, bleiben sie zwar in der DB erhalten. Bei der Suche auf der Webseite findet er diese Worte aber trotzdem nicht.
TYPO3 4.2.6. und utf8. Ich habe sonst keine Probleme mit Umlauten, nur bei dieser EXT.
Kann mir hier vielleicht bitte jemand helfen?=
Grüße, Candi
Hi!
Was mach ich falsch, wenn die Tabelle tx_yatse_content leer bleibt? funktioniert der hook etwa nicht?
lg
Manfred
Ich hab ein wenig gegraben und bin dem Fehler ziemlich auf die Spur gekommen, denke ich, kann das Problem aber nciht lösen – bitte um Hilfe?!
Im Hook gibt es eine Funktion getPageContent und die funktioniert in unserem Fall nicht korrekt. Ich habe sie wie folgt verändert:
function getPageContent($params,$conf) {
$this->conf = $conf;
$cont = $params['pObj']->content;
/*wima*/
/*wima*/echo ‘$cont=’.$cont.”;
/*wima*/
$cont = preg_replace(“!(\r\n)|(\r)|(\t)|(\n)!”,” “,$cont);
und der $cont ist leer, selbst wenn in der Seite was drinnen steht?
hey (:
Danke für die Antwort. Was meinst du bitte mit Tabellenmodus? Meinst du den Listenmodus? Da hab ich nachgeschaut und das einzige was ich da für Yatse gefunden hab sind die stats… ?!
Hab ein ähnliches Problem, obwohl ich alle Punkte in der Extensions ausgefüllt hab (Starting Point, Pages shown before .. , nochmal Starting point?!)
Warum gibts hier eigentlich zwei Starting Points?
Fehler erhalte ich folgende:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/typo3_src-4.2.3/t3lib/class.t3lib_db.php on line 796
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/typo3_src-4.2.3/t3lib/class.t3lib_db.php on line 796
Warning: Cannot modify header information – headers already sent by (output started at /var/www/typo3_src-4.2.3/t3lib/class.t3lib_db.php:796) in /var/www/typo3_src-4.2.3/typo3/sysext/cms/tslib/class.tslib_fe.php on line 3226
Fehler sind im FE.
danke für die Antwort.
Ich hab ein ähnliches problem wie weiter oben…
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/typo3_src-4.2.3/t3lib/class.t3lib_db.php on line 796
Warning: Cannot modify header information – headers already sent by (output started at /var/www/typo3_src-4.2.3/t3lib/class.t3lib_db.php:796) in /var/www/typo3_src-4.2.3/typo3/sysext/cms/tslib/class.tslib_fe.php on line 3226
woran kanns liegen? Hab überall die Home seite eingetragen.
Hallo Dai,
kannst du bitte mal im Install-Tool das Debug für SQL einschalten und mir dann den Query senden, den er da als fehlerhaft ausspuckt?
BTW: den zweiten Startpunkt brauchst du nicht. Nur das Flexform gilt.
Danke für die rasche Antwort.
Hier die geforderten Daten:
SELECT *, MATCH (content) AGAINST (‘test*’ IN BOOLEAN MODE) AS data FROM tx_yatse_content WHERE MATCH (content) AGAINST (‘test*’ IN BOOLEAN MODE) AND page IN (92,8,7,14,40,39,38,37,36,13,46,45,44,43,42,41,12,52,51,50,49,48,47,11,57,56,55,54,53,10,62,61,60,59,58,9,6,16,15,5,19,65,64,63,18,68,67,66,17,4,22,21,20,69,3,27,71,70,26,72,25,73,24,75,74,23,76,2,35,34,33,32,31,30,29,28,89,90,91,-1) AND tx_yatse_content.deleted=0 AND tx_yatse_content.hidden=0 AND (tx_yatse_content.fe_group=” OR tx_yatse_content.fe_group IS NULL OR tx_yatse_content.fe_group=’0′ OR (tx_yatse_content.fe_group LIKE ‘%,0,%’ OR tx_yatse_content.fe_group LIKE ’0,%’ OR tx_yatse_content.fe_group LIKE ‘%,0′ OR tx_yatse_content.fe_group=’0′) OR (tx_yatse_content.fe_group LIKE ‘%,-1,%’ OR tx_yatse_content.fe_group LIKE ‘-1,%’ OR tx_yatse_content.fe_group LIKE ‘%,-1′ OR tx_yatse_content.fe_group=’-1′)) AND ll = ORDER BY data DESC
er meint fehler in der sql syntax?
PS: Flexform is dann der erste oder zweite Startpoint?
Und wenn ich alles eingefügt hab, kommt der mysql_num_rows() Fehler zweimal… :/
erstes statement:
SELECT *, MATCH (content) AGAINST (‘*termin*’ IN BOOLEAN MODE) AS data FROM tx_yatse_content WHERE MATCH (content) AGAINST (‘*termin*’ IN BOOLEAN MODE) AND page = 1 AND tx_yatse_content.deleted=0 AND tx_yatse_content.hidden=0 AND (tx_yatse_content.fe_group=” OR tx_yatse_content.fe_group IS NULL OR tx_yatse_content.fe_group=’0′ OR (tx_yatse_content.fe_group LIKE ‘%,0,%’ OR tx_yatse_content.fe_group LIKE ’0,%’ OR tx_yatse_content.fe_group LIKE ‘%,0′ OR tx_yatse_content.fe_group=’0′) OR (tx_yatse_content.fe_group LIKE ‘%,-1,%’ OR tx_yatse_content.fe_group LIKE ‘-1,%’ OR tx_yatse_content.fe_group LIKE ‘%,-1′ OR tx_yatse_content.fe_group=’-1′)) AND ll = ORDER BY data DESC
zweites statement:
SELECT *, MATCH (content) AGAINST (‘*termin*’ IN BOOLEAN MODE) AS data FROM tx_yatse_content WHERE MATCH (content) AGAINST (‘*termin*’ IN BOOLEAN MODE) AND page IN (92,8,7,14,40,39,38,37,36,13,46,45,44,43,42,41,12,52,51,50,49,48,47,11,57,56,55,54,53,10,62,61,60,59,58,9,6,16,15,5,19,65,64,63,18,68,67,66,17,4,22,21,20,69,3,27,71,70,26,72,25,73,24,75,74,23,76,2,35,34,33,32,31,30,29,28,89,90,91,-1) AND tx_yatse_content.deleted=0 AND tx_yatse_content.hidden=0 AND (tx_yatse_content.fe_group=” OR tx_yatse_content.fe_group IS NULL OR tx_yatse_content.fe_group=’0′ OR (tx_yatse_content.fe_group LIKE ‘%,0,%’ OR tx_yatse_content.fe_group LIKE ’0,%’ OR tx_yatse_content.fe_group LIKE ‘%,0′ OR tx_yatse_content.fe_group=’0′) OR (tx_yatse_content.fe_group LIKE ‘%,-1,%’ OR tx_yatse_content.fe_group LIKE ‘-1,%’ OR tx_yatse_content.fe_group LIKE ‘%,-1′ OR tx_yatse_content.fe_group=’-1′)) AND ll = ORDER BY data DESC
danke.
Ok Problem erkannt. Dir fehlt ein
config.sys_language_uid = 0
in deinem TS.
Ich werde das Vorhandensein in den nachfolgenden Version überprüfen.
Hoi!
Vielen Dank für die schnellen Antworten, die Fehler sind zum Glück jetzt weg.
Hab jetzt allerdings ein anderes Problem: es werden keine Ergebnisse gezeigt. Woran kann das liegen?
Danke für die Antwort.
Ni Hao,
Danke für das Lob. AFAIK kann es nur zwei Gründe geben, dass es keine Suchergebnisse gibt:
1. Die Basisseite (Root) ist nicht ausgewählt oder
2. die Seiten werden nicht indiziert.
Wenn sie nicht indiziert werden, dann schalte bitte mal den SQL-Debug ein, ob es hier eine Fehlermeldung gibt.
LG,
Mischa.
Danke für die Antwort nochmal. Wie kann ich wissen, ob die Seiten indiziert sind?
LG
Im BE auf Tabellenmodus –> Weltkugel –> Abschnitt ” YATSE – Inhalte”. Wenn der Abschnitt nicht da ist oder leer, dann hast du keinen Index.
hey (:
Danke für die Antwort. Was meinst du bitte mit Tabellenmodus? Meinst du den Listenmodus? Da hab ich nachgeschaut und das einzige was ich da für Yatse gefunden hab sind die stats… ?!
Hab auch probiert, Yatse einzusetzen gemäß Anleitung. Bei mir kommen folgende Ausgaben:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/administrator/www/typo3_src-4.2.8/t3lib/class.t3lib_db.php on line 796
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/administrator/www/typo3_src-4.2.8/t3lib/class.t3lib_db.php on line 796
Warning: Cannot modify header information – headers already sent by (output started at /var/www/administrator/www/typo3_src-4.2.8/t3lib/class.t3lib_db.php:796) in /var/www/administrator/www/typo3_src-4.2.8/typo3/sysext/cms/tslib/class.tslib_fe.php on line 3229
Wo genau kommen die Fehlermeldungen? FE oder BE? Sieht mir aber noch FE aus.
Hast du eine Seite bei “Seiten, die vor den allgemeinen Suchergebnissen angezeigt werden sollen” angegeben? Oder fehlt dir ggf. die Rootpage?
Ja stimmt, ich habe da nichts ausgewählt.
Habe nun mal meine Root-Seite eingetragen und die Fehlermeldung erscheinen nicht mehr.
Vielen Dank für die Unterstützung
P.S. super genial das Ding
Das Update auf 0.3.1 ist im TER erhältlich.
Danke für die Blumen.
inwiefern kann man Unterstützung leiten?
Amazon-Wishlist oder ähnliches vorhanden?
Das ist ganz lieb. Die einzige Unterstützung, die ich derzeit brauche ist an mich und meine Arbeit zu glauben und mich konstruktiv zu unterstützen.
ich teste dann mal weiter und wenn ich was beitragen kann mache ich das auch sehr gerne
Website ist mal in den Bookmarks abgelegt (sind ja noch viele weiter interessante inhalte drauf)
P.S. wünsche einen stressfreien umzug nach münchen
und viel spaß beim neuen arbeitgeber
Sehr geehrter Herr Heissmann,
im Extension Manager bekomme ich immer
ALTER TABLE tx_yatse_content ADD FULLTEXT (content);
angezeigt. Ein Klick auf den Button “Make updates” zeigt beim “Database status” weiterhin “Table error!
Probably one or more required fields/tables are missing in the database!” an.
Ich verwende TYPO3 4.2.8, MySQL 5.0.51a-3ubuntu5.4 (Kollation utf8_general_ci)
YATSE funktioniert zwar, allerdings bekomme ich auf der Suchergebnisseite immer “Cannot modify header information” Fehlermeldungen angezeigt.
Wäre Ihnen für eine Hilfestellung sehr dankbar.
mfg
Marjan Ratkovic
Hallöchen,
das Problem mit dem Table-Error ist bekannt. Liegt leider daran, dass in der ext_tables.sql ein notwendiger SQL-”Befehl” steht, der zwar den FULLTEXT-Key erstellt, von TYPO3 aber nicht erkannt wird. Darum der “Fehler”. Einfach ignorieren.
Wenn nach der Installation ein Datenbankupdate gemacht wird, wie in Ihrem Fall, dann bitte mal über phpMyAdmin o.ä. in die Struktur der tx_yatse_content schauen, ob der FULLTEXT-KEY über content mehrmals drinnen steht. Er darf nur einmal drinnen sein. Das könnte auch die Fehlermeldung verursachen.
Hallo
habe den mehrfachen FULLTEXT-KEY über content entfernt, leider bekomme ich noch immer “Cannot modify header information” Fehlermeldungen auf der Suchergebnisseite angezeigt.
So, habe das Problem gefunden. Fräge: ist bei den Seiten, die zuerst angezeigt werden sollen, nichts ausgewählt?
Ich habe eine neue Version ins TER gestellt. Sollte bald online sein.