denen Gott gewollt hat kundtun, welcher da sei der herrliche Reichtum dieses Geheimnisses unter den Heiden, welches ist Christus in euch, der da ist die Hoffnung der Herrlichkeit. Den verkündigen wir und vermahnen alle Menschen und lehren alle Menschen mit aller Weisheit, auf daß wir darstellen einen jeglichen Menschen vollkommen in Christo Jesu;
Kolosser 1:27-28
autor | |
30-09-16 16:16:10 | Such-Ergebnisse |
Mischa Sell-Becker |
Hallo, gibt es irgendwo die Möglichkeit einzustellen, dass nur nach ganzen Wörtern gesucht wird und nicht auch nach enthaltenen Teil-Strings? Außerdem soll verhindert werden, dass wenn man nach Wörtern mit Umlauten sucht, dass auch nur die Ergebnisse mit Umlaut ausgegeben werden. Zurzeit erhält man bei Suchen mit Ä auch alle Ergebnisse mit A. Sofern man es nicht einfach so einstellen kann, an welcher Stelle in der Erweiterung erfolgt die Suche, so dass man diese anpassen könnte? Zur Info, ich habe tt_products Version 2.8.8 im Einsatz. |
30-09-16 20:08:59 | MYSQL |
Franz Holzinger |
Was die Suche schließlich findet, das wird von MYSQL über die Kollation festgelegt. tt_products baut die SQL Abfrage zusammen. class.tx_ttproducts_list_view.php tt_products 2.12.0: if ($htmlSwords && (in_array($theCode, array('LIST', 'SEARCH')))) { //extend standard search fields with user setup $searchFieldList = trim($conf['stdSearchFieldExt']) ? implode(',', array_unique(t3lib_div::trimExplode(',', $conf['stdSearchFieldExt']))) : 'title,note,' . $tablesObj->get('tt_products')->fieldArray['itemnumber']; $where .= $tablesObj->get('tt_products')->searchWhere($searchFieldList, trim($htmlSwords), $theCode); } |
4-10-16 12:50:54 | Kollation |
Mischa Sell-Becker |
...das ist richtig, aber eine Anpassung der Datenbank-Tabelle ist leider nicht möglich. Grundsätzlich funktioniert ja auch bei der MySQL-Abfrage der Datenbank der Zusatz "COLLATE utf8_bin". Nur an welcher Stelle muss bzw. kann ich diesen ergänzen? |
4-10-16 19:13:02 | Erweiterung |
Franz Holzinger |
Für eine solche Funktion müssten tt_products und table erweitert werden. select * from tt_products where title = _utf8 'Something' collate utf8_bin Der Zusatz _utf8 wird nur dann benötigt, wenn es sich nicht um UTF-8 Daten handelt und diese vorher noch umgewandelt werden müssen. siehe: http://stackoverflow.com/questions/901066/mysql-case-sensitive-search-for-utf8-bin-field |
10-10-16 14:33:37 | neues Feature |
Franz Holzinger |
Ich habe nun die Extensions table und tt_products um dieses Feature erweitert: https://github.com/franzholz/table/commit/142131d7a33e7354690839915930c8b942c5a34b https://github.com/franzholz/tt_products/commit/3cfdfb7e2c2e1154b1c1f453a3e4b88b50b61eb3 Die Änderung liegt vorerst nur auf Github. SELECT DISTINCT product.uid uid,product.pid pid,product.category category,product.price price,product.price2 price2,product.directcost directcost,product.graduated_price_uid graduated_price_uid,product.tax tax,product.inStock inStock,product.unit_factor unit_factor,product.weight weight,product.offer offer,product.highlight highlight,product.title COLLATE utf8_bin title,product.image image,product.note note,product.color color,product.color2 color2,product.color3 color3,product.size size,product.size2 size2,product.size3 size3,product.gradings gradings,product.description description,product.material material,product.quality quality,product.bulkily bulkily,product.special_preparation special_preparation,product.additional additional,product.datasheet datasheet,product.uid uid,product.pid pid,product.category category,product.price price,product.price2 price2,product.directcost directcost,product.graduated_price_uid graduated_price_uid,product.tax tax,product.inStock inStock,product.unit_factor unit_factor,product.weight weight,product.offer offer,product.highlight highlight,product.bulkily bulkily,product.special_preparation special_preparation,product.additional additional,product.datasheet datasheet FROM tt_products product LEFT OUTER JOIN tt_products_cat tt_products_cat ON tt_products_cat.uid=product.category WHERE product.pid IN(34,35,36,37,38,39,95,96,100,140,141,142,144,146,172,230,306,307,309,310,311,312,313,314,315,316,317,318,319,321,324,325,331,332,333,334,335,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,363,364,365,366,367)AND 1=1 AND(product.inStock > 0)AND(product.title LIKE '%Kön%' OR product.subtitle LIKE '%Kön%' OR product.note LIKE '%Kön%' OR product.itemnumber LIKE '%Kön%')AND product.deleted=0 AND product.hidden=0 AND(product.starttime<=1476100081)AND(product.endtime=0 OR product.endtime>1476100081)AND product.fe_group IN(' ',0,-1) ORDER BY tt_products_cat.title,product.title LIMIT 6 -------------------------------------------- TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->callUserFunction#55 // call_user_func_array#6479 // tx_ttproducts_pi1->main# // tx_ttproducts_pi1_base->main#64 // tx_ttproducts_main->run#73 // tx_ttproducts_main->products_display#518 // tx_ttproducts_list_view->printView#1071 // tx_table_db->exec_SELECT_queryArray#1151 // tx_table_db->exec_SELECTquery#1609 Im Setup muss dieses eingestellt werden: plugin.tt_products { conf.tt_products.ALL { collate { title = utf8_bin } } } Für jedes weitere Suchfeld von tt_products müsste eine Zeile für dieses Feld hinzugefügt werden. |
19-04-19 21:59:50 | Suche |
Björn Hahnefeld |
Mich wundert, dass tt_products leider nicht in der indexedsearch berücksichtigt wird und dies bisher noch niemanden gestört hat. Leider ist mein Wunsch bisher noch nicht berücksichtigt worden. Aber an und für sich kann es doch nicht so aufwändig sein, die Datenbanktabellen von tt_products bei indexed_search mit in die Suche einzubeziehen? |
< Zurück zum Forum |