Follow us on Twitter X-Cart on Facebook Wiki
Shopping cart software Solutions for online shops and malls
 

Searching for SKU

 
Reply
   X-Cart forums > X-Cart 4 > Dev Questions
 
Thread Tools Search this Thread
  #1  
Old 06-13-2006, 07:05 AM
 
John Fields John Fields is offline
 

Newbie
  
Join Date: Mar 2006
Posts: 7
 

Default Searching for SKU

This fix is for 4.0.17.
I have seen a few posts on this but I think due to my crapness I could not get it working. These fixes have been from a couple of posts so I will just do a quick recap how I got it working for me.

First of all find the file /include/search.php

Replace:

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"]."%'"; } }

With:

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"]."%'"; } }

Right now that is done find the file /skin1/customer/search.tpl

This is for the little search box in the topbar (if thats where you have it)

Replace this:

Code:
<FORM method="POST" action="search.php" name="productsearchform"> <INPUT type="hidden" name="mode" value="search"> <INPUT type="hidden" name="posted_data[by_title]" value="Y"> <INPUT type="hidden" name="posted_data[by_shortdescr]" value="Y"> <INPUT type="hidden" name="posted_data[by_fulldescr]" value="Y">

With this:

Code:
<FORM method="POST" action="search.php" name="productsearchform"> <INPUT type="hidden" name="simple_search" value="Y"> <INPUT type="hidden" name="mode" value="search"> <INPUT type="hidden" name="posted_data[by_title]" value="N"> <INPUT type="hidden" name="posted_data[by_shortdescr]" value="N"> <INPUT type="hidden" name="posted_data[by_fulldescr]" value="N"> <INPUT type="hidden" name="posted_data[by_productcode]" value="N">

Okay now this is the tricky part. Doing the following changes will make the Advanced Search section work.

Look for the file /skin1/customer/main/search_result.tpl

First of all change this:

Code:
<FORM name="searchform" action="search.php" method="POST">

For this (make sure you add the new line):

Code:
<FORM name="productsearchform" action="search.php" method="POST"> <INPUT type="hidden" name="mode" value="search">

And finally replace this:

Code:
<TD width="5"><INPUT type="checkbox" name="posted_data[by_title]"{if $search_prefilled eq "" or $search_prefilled.by_title} checked{/if}></TD><TD nowrap>{$lng.lbl_title}</TD> <TD width="5"><INPUT type="checkbox" name="posted_data[by_shortdescr]"{if $search_prefilled eq "" or $search_prefilled.by_shortdescr} checked{/if}></TD><TD nowrap>{$lng.lbl_short_description}</TD> <TD width="5"><INPUT type="checkbox" name="posted_data[by_fulldescr]"{if $search_prefilled eq "" or $search_prefilled.by_fulldescr} checked{/if}></TD><TD nowrap>{$lng.lbl_det_description}</TD>

With this:

Code:
<TD width="5"><INPUT type="checkbox" name="posted_data[by_title]"{if $search_prefilled eq "" or $search_prefilled.by_title} checked{/if}></TD><TD nowrap>{$lng.lbl_title}</TD> <TD width="5"><INPUT type="checkbox" name="posted_data[by_shortdescr]"{if $search_prefilled eq "" or $search_prefilled.by_shortdescr} checked{/if}></TD><TD nowrap>{$lng.lbl_short_description}</TD> <TD width="5"><INPUT type="checkbox" name="posted_data[by_fulldescr]"{if $search_prefilled eq "" or $search_prefilled.by_fulldescr} checked{/if}></TD><TD nowrap>{$lng.lbl_det_description}</TD> <TD width="5"><INPUT type="checkbox" name="posted_data[by_productcode]"{if $search_prefilled eq "" or $search_prefilled.by_productcode} checked{/if}></TD><TD nowrap>Product Code</TD>

Hopefully that should get things running smoothly, it works for me anyhow.
Please dont berate me if there is a full comprehensive solution to this problem, the search function on this forum is much like the xcart search function.............turd.
__________________
Version 4.0.17
Reply With Quote
Reply
   X-Cart forums > X-Cart 4 > Dev Questions



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -8. The time now is 12:12 PM.

   

 
X-Cart forums © 2001-2020