[TYPO3-german] Frage zur EXT yatse
Daniel Klopfer
daniel.klopfer at me.com
Tue Mar 9 08:33:03 CET 2010
Michael Meurer wrote:
> Am 25.02.2010 14:33, schrieb Daniel Klopfer:
>
>> Jetzt schreibt er in die DB rein, aber das fe-plugin findet
>> nichts.... aber das kriege ich hoffentlich hin!
>>
>> Danke für die Hilfe!
>> Daniel
>>
>>
>
> Guten Morgen zusammen.
>
> Hast du die Ausgabe hinbekommen, Daniel?
>
> Die Tabelle yatse_content wird zwar gefüllt, aber der erfasste Inhalt
> bricht mit dem ersten Sonderzeichen (ä, ö, ß usw.) ab.
> Datenbank ist utf-8 und die Sonderzeichen werden in der Datenbank auch
> korrekt angezeigt.
>
> Begriffe aus dem erfassten Bereich bekomme ich ebenfalls nicht
> angezeigt, weder mit der Standard-Template-Datei oder meiner eigenen
> Datei ...
>
Bei mir läurt das jetzt, aber ich musste einiges im Quellcode ändern:
Diese Zeile z.B.
$pids =
$this->cObj->getTreeList($start,$depth='999',$begin=0,$dontCheckEnableFields=FALSE,$addSelectFields='',$moreWhereClauses,
$prevId_array=array(), $recursionLevel=0);
liefert eine kommegetrennte Liste von Seiten-IDs zurück, in der mehrere
Kommatas hintereinderstehen, z.B. 10,11,,12,13,,,14 usw. Da steigt Mysql
beim select aus:
$query = 'SELECT *, MATCH (content) AGAINST
(\''.utf8_decode($GLOBALS['TYPO3_DB']->fullQuoteStr($this->piVars['sword'],'')).'\'
IN BOOLEAN MODE) AS data FROM tx_yatse_content WHERE MATCH (content) AGAINST
(\''.utf8_decode($GLOBALS['TYPO3_DB']->fullQuoteStr($this->piVars['sword'],'')).'\'
IN BOOLEAN MODE)';
switch($mode) {
case 0: // select from all pages in pagetree
$query .= ' AND page IN ('.$pids.'-1)';
break;
case 1: // select from individual page
$query .= ' AND page = '.intval($id);
break;
Die Zeile ...AND page IN ('.$pids.'-1) ... funktioniert nur, wenn man vorher
die mehrfachen Kommatas entfernt.
Der select-Befehl funktioniert bei mir in obiger Schreibweise auch nicht,
nur wenn ich die Backslashes entferne, läuft es fehlerfrei:
$query = 'SELECT *, MATCH (content) AGAINST
('.utf8_decode($GLOBALS['TYPO3_DB']->fullQuoteStr($this->piVars['sword'])).'
IN BOOLEAN MODE) AS data FROM tx_yatse_content WHERE MATCH (content) AGAINST
('.utf8_decode($GLOBALS['TYPO3_DB']->fullQuoteStr($this->piVars['sword'])).'
IN BOOLEAN MODE)';
Mit diesen Änderungen funktionierts dann auch so wie es soll.
Grüße
Daniel
More information about the TYPO3-german
mailing list