Förbättra sökfunktionen i Magento
I no longer write new content at tenghamn.com, you can find my new web related content at GoPHP.io and my personal blog posts at Ma.rkus.io.
My favorite domain registrar is NameSilo and if you use the affiliate link here it helps me earn some money from my writing: https://www.namesilo.com/pricing.php?rid=ee81e92mn, thanks! If you are new to NameSilo you can use my coupon, MARKUSTENGHAMN to save $1.00.
This post has been migrated and imported into different systems over the years, I have not had a chance to format this post manually so it may be hard to read but I have left it here as a reference.
Tidigare skrev jag om hur man kan ändra Magento så att produkter som är slutsålda alltid visas sist. Här är en till sak som Magento kan göra bättre. Sökfunktionen visar som default de mest relevanta produkter sist i sök resultaten. Om man har flera sök termer så försöker den hitta en match en åt gången. Detta kan vi ändra på relativt lätt med lite kod.
Ändra filen /catalogsearch/form.mini.phtml i ditt tema
Där finns det en html form där vi kan lägga till följande kod var som helst mellan form taggarna
Detta ändrar så att våra mest relevanta sök resultat kommer först
Sedan, gör en kopia av app/code/core/Mage/CatalogSearch/Model/resource/Fulltext.php
Och lägg den här app/code/local/Mage/CatalogSearch/Model/resource/Fulltext.php
På linje 356 finns följande kod
<pre lang="php">$likeCond = '(' . join(' OR ', $like) . ')';
Och ändra det till
<pre lang="php">$likeCond = '(' . join(' AND ', $like) . ')';
Sen på linje 378 hitta
<pre lang="php">$where .= ($where ? ' OR ' : '') . $likeCond;
Och ändra det till
<pre lang="php">$where .= ($where ? ' AND ' : '') . $likeCond;
Så där det är allt, nu bör sök fungera bättre. BilligaApan.se använder samma ändringar som jag har gjort här om ni vill se ett exempel.