This is a great mod. I just changed the code to work with 4.0.10.
include/search.php now finds variants in a search. Can someone check this to see if it's correct? It does work for me:
include/search.php
find
Code:
if (empty($data["by_title"]) && empty($data["by_shortdescr"]) && empty($data["by_fulldescr"]) && empty($data["extra_fields"])) {
change to:
Code:
if (empty($data["by_title"]) && empty($data["by_shortdescr"]) && empty($data["by_fulldescr"]) && empty($data["by_productcode"]) && empty($data["extra_fields"])) {
find
Code:
if (!empty($data["by_fulldescr"])) {
if($current_area == 'C' || $current_area == 'P') {
$condition[] = "IF($sql_tbl[products_lng].full_descr IS NOT NULL AND $sql_tbl[products_lng].full_descr != '', $sql_tbl[products_lng].full_descr, $sql_tbl[products].fulldescr) LIKE '%".$data["substring"]."%'";
} else {
$condition[] = "$sql_tbl[products].fulldescr LIKE '%".$data["substring"]."%'";
}
}
change to:
Code:
if (!empty($data["by_fulldescr"])) {
if($current_area == 'C' || $current_area == 'P') {
$condition[] = "IF($sql_tbl[products_lng].full_descr IS NOT NULL AND $sql_tbl[products_lng].full_descr != '', $sql_tbl[products_lng].full_descr, $sql_tbl[products].fulldescr) LIKE '%".$data["substring"]."%'";
if (!empty($data["by_productcode"])){
$condition[] = "$sql_tbl[products].productcode LIKE '%".$data["substring"]."%'";
if(!empty($active_modules['Product_Options'])) {
$condition[] = "$sql_tbl[variants].productcode LIKE '%".$data["substring"]."%'";
}
}
} else {
$condition[] = "$sql_tbl[products].fulldescr LIKE '%".$data["substring"]."%'";
}
}
I don't know PHP and wouldn't even call myself a developer. Just a lowly store owner who wants a "search" that works. Can anyone out there tell me if this is correct or what should be modified? It works fine for me and finds variants in a search, but it was trial and error as the original and subsequent code on this post weren't compatible w/ 4.0.10 - categories didn't show up in search (admin).
If you use this, be sure to backup - I only said it works for me, but maybe it could be checked by someone?
Thanks,
Mike