Re: Advanced Search - customized product fields
I've just finished making my advanced search work with all sorts of custom fields and I thought this small piece of info may help someone who is having trouble with the empty keywords on search:
You dont need to check for an empty anything (there is even a comment stating the check can safely be removed), I started putting all sort of checks for empty against my various fields, but actually if you just remove all the checks and search on nothing it just returns all products... which I think is just fine. Obviously you will still need to apply format checks.
So there are two places you need to look for these checks:
There is a client side (js) check in includes/modules/pages/advanced_search/jscript_main.php:
Code:
//if ( ((keyword == '') || (keyword.length < 1)) && ((dfrom == '') || (dfrom == '<?php echo DOB_FORMAT_STRING; ?>') || (dfrom.length < 1)) && ((dto == '') || (dto == '<?php echo DOB_FORMAT_STRING; ?>') || (dto.length < 1)) && ((pfrom == '') || (pfrom.length < 1)) && ((pto == '') || (pto.length < 1)) ) {
// error_message = error_message + "* <?php// echo ERROR_AT_LEAST_ONE_INPUT; ?>\n";
// error_field = document.advanced_search.keyword;
// error_found = true;
//}
as you can see all commented out.
Then there is a server side check in includes/modules/pages/advanced_search_result/header_php.php:
Code:
/*
if ( (isset($_GET['keyword']) && (empty($_GET['keyword']) || $_GET['keyword']==HEADER_SEARCH_DEFAULT_TEXT || $_GET['keyword'] == KEYWORD_FORMAT_STRING ) ) &&
(isset($_GET['dfrom']) && (empty($_GET['dfrom']) || ($_GET['dfrom'] == DOB_FORMAT_STRING))) &&
(isset($_GET['dto']) && (empty($_GET['dto']) || ($_GET['dto'] == DOB_FORMAT_STRING))) &&
(isset($_GET['pfrom']) && !is_numeric($_GET['pfrom'])) &&
(isset($_GET['pto']) && !is_numeric($_GET['pto']))) {
$error = true;
$missing_one_input = true;
$messageStack->add_session('search', ERROR_AT_LEAST_ONE_INPUT);
} else {
*
*/
also need to comment out the close to that else statement;
Another thing that I found was it was quite easy to integrate the dynamic filter plugin with the advance search form - this plugin already allows you to search on any attributes you have. You will need to take out price and category options from here to avoid conflicts with the advanced search.
Re: Advanced Search - customized product fields
Quote:
Originally Posted by
bb21
Hi Zvenson,
May I ask how did you resolve the following problem? Mine has 2 buttons on every product result.
My custom advanced search changes are still on my Local PC so I won't be able to share you a link. But I am providing screenshots of the search result for your reference.
Attachment 11857
Attachment 11856
Zen Cart version: 1.5.1
Modified files (all changes I made came from this thread):
\includes\templates\template_default\templates\tpl_advanced_search_default.php
\includes\modules\pages\advanced_search\header_php.php
\includes\modules\pages\advanced_search_result\header_php.php
I am using 1 extra table so in the LEFT JOIN part, I only added this:
Code:
LEFT JOIN " . TABLE_PRODUCT_EXTRA_FIELDS . " pe
ON pe.products_id= p2c.products_id
@All, appreciate your feedback as well. Thank you.
Hi,
I have got the advanced search results working fine, all except I have 4 prices and cart showing on each product result, May I ask how did you resolve the problem of having 2 buttons on every product result.? I have looked through the threads but can not see any mention of a fix.
Using 1.5.1
Thank you in advance.