{"id":13,"date":"2021-08-16T13:43:40","date_gmt":"2021-08-16T13:43:40","guid":{"rendered":"https:\/\/jonrocket.com\/zencart\/?p=13"},"modified":"2022-10-27T22:19:04","modified_gmt":"2022-10-27T22:19:04","slug":"improving-zen-cart-search-results","status":"publish","type":"post","link":"https:\/\/jonrocket.com\/zencart\/2021\/08\/16\/improving-zen-cart-search-results\/","title":{"rendered":"Improving Zen Cart Search Results"},"content":{"rendered":"<h3>You Can&#8217;t Always Find What You Want &#8230;.<\/h3>\n<p>Zen Cart&#8217;s search function doesn&#8217;t work very well. Search results are not ordered by relevance and many search terms produce no results even though there are products that should be listed.<\/p>\n<p>In this article I describe how I made the search function work better for our <a href=\"https:\/\/www.jonrocket.com\/\">model rocket store<\/a> web site.<\/p>\n<h3>Do What I Say, Not What I Do &#8230;.<\/h3>\n<p><strong><em>The method I describe here involves directly modifying Zen Cart core files. Generally, it isn&#8217;t a good idea to modify the core files of an application since it makes upgrading more difficult and error-prone.\u00a0 But the upgrade process for Zen Cart is already error-prone since many themes directly modify core files.\u00a0 Just be aware that by making the changes described here, you may be making things more difficult in the future.<\/em><\/strong><\/p>\n<p>The modifications described here are based on version 1.5.7 of Zen Cart.\u00a0 If you are using a later version, you may need to do things a little differently than described here.\u00a0<\/p>\n<p>Here is a list of the files that will be updated (replace [admin] with the name of your admin folder):<\/p>\n<ul>\n<li>includes\/modules\/pages\/advanced_search_result\/header_php.php<\/li>\n<li>[admin]\/includes\/functions\/general.php<\/li>\n<li>[admin]\/includes\/modules\/document_product\/preview_info.php<\/li>\n<\/ul>\n<h3>Fixing the Order of the Results &#8230;.<\/h3>\n<p>The first problem is that the order of the results isn&#8217;t based on how well the product matches the search term. For example, a product that has a title matching the search term should be listed before one that uses the search term in its description.\u00a0 But, the order of the results seems random instead.<\/p>\n<p>&#8220;Rob&#8221; of <a href=\"http:\/\/www.funkyraw.com\/\">www.funkyraw.com<\/a> offers an elegant solution in <a href=\"https:\/\/www.zen-cart.com\/showthread.php?131747-Improving-search-results&amp;p=828849#post828849\">a post in the Zen Cart forum<\/a> based on MySQL&#8217;s FULLTEXT search feature.\u00a0<\/p>\n<p>I expanded on his technique a bit by adding a text field where you can enter additional text to be searched that isn&#8217;t displayed in the store and by slightly changing the order of the results.<\/p>\n<h4>Database Updates<\/h4>\n<p>We are going to add a column to the table that holds product descriptions and add a Full Text index to the table.<\/p>\n<p>Using <strong>phpMyAdmin<\/strong>, go to the Structure tab of your <strong>products_description<\/strong> table. Add a <strong>products_search<\/strong> column with a type of &#8220;text.&#8221;<\/p>\n<p>On the row for <strong>products_name<\/strong> click the Fulltext (&#8220;T&#8221;) icon (it may be under the &#8220;More&#8221; menu).\u00a0 Next, select the check boxes next to the <strong>products_description<\/strong> and <strong>products_search<\/strong> field.\u00a0 Then click the Fulltext link under the table and create a Fulltext index on the two columns .<\/p>\n<h4>File Update: includes\/modules\/pages\/advanced_search_result\/header_php.php<\/h4>\n<p>Edit the <em>includes\/modules\/pages\/advanced_search_result\/header_php.php<\/em> file.\u00a0 Around line 219, find the following code:<\/p>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Notifier Point<\/span>\n$zco_notifier-&gt;notify(<span class=\"hljs-string\">'NOTIFY_SEARCH_SELECT_STRING'<\/span>);\n\n<span class=\"hljs-comment\">\/\/  $from_str = \"from \" . TABLE_PRODUCTS . \" p left join \" . TABLE_MANUFACTURERS . \" m using(manufacturers_id), \" . TABLE_PRODUCTS_DESCRIPTION . \" pd left join \" . TABLE_SPECIALS . \" s on p.products_id = s.products_id, \" . TABLE_CATEGORIES . \" c, \" . TABLE_PRODUCTS_TO_CATEGORIES . \" p2c\";<\/span>\n\n$from_str = <span class=\"hljs-string\">\"FROM (\"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Replace the above code with:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Notifier Point<\/span>\n$zco_notifier-&gt;notify(<span class=\"hljs-string\">'NOTIFY_SEARCH_SELECT_STRING'<\/span>);\n\n<span class=\"hljs-comment\">\/\/  $from_str = \"from \" . TABLE_PRODUCTS . \" p left join \" . TABLE_MANUFACTURERS . \" m using(manufacturers_id), \" . TABLE_PRODUCTS_DESCRIPTION . \" pd left join \" . TABLE_SPECIALS . \" s on p.products_id = s.products_id, \" . TABLE_CATEGORIES . \" c, \" . TABLE_PRODUCTS_TO_CATEGORIES . \" p2c\";<\/span>\n\n<span class=\"hljs-comment\">\/\/ FullText Ranking code by Rob - www.funkyraw.com<\/span>\n$from_str = <span class=\"hljs-string\">\",  MATCH(pd.products_name) AGAINST(:keywords) AS rank1, MATCH(pd.products_description, pd.products_search) AGAINST(:keywords) AS rank2 \"<\/span>;\n$from_str = $db-&gt;bindVars($from_str, <span class=\"hljs-string\">':keywords'<\/span>, stripslashes($_GET&#91;<span class=\"hljs-string\">'keyword'<\/span>]), <span class=\"hljs-string\">'string'<\/span>);\n<span class=\"hljs-comment\">\/\/end FullText ranking code<\/span>\n\n$from_str .= <span class=\"hljs-string\">\"FROM (\"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The first few lines are existing code that is not changed just to show you where to add the new code. The new code is added where you find the following in the existing file:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Notifier Point<\/span>\n$zco_notifier-&gt;notify(<span class=\"hljs-string\">'NOTIFY_SEARCH_SELECT_STRING'<\/span>);\n\n<span class=\"hljs-comment\">\/\/  $from_str = \"from \" . TABLE_PRODUCTS . \" p left join \" . TABLE_MANUFACTURERS . \" m using(manufacturers_id), \" . TABLE_PRODUCTS_DESCRIPTION . \" pd left join \" . TABLE_SPECIALS . \" s on p.products_id = s.products_id, \" . TABLE_CATEGORIES . \" c, \" . TABLE_PRODUCTS_TO_CATEGORIES . \" p2c\";<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The &#8220;\/\/ $from_str &#8230;&#8221; comment is dead code that is in the original file for version 1.57 (it might not be in a later version).  Note that a &#8220;.&#8221; is added before the &#8220;=&#8221; in the last line of the new code.<\/p>\n\n\n\n<p>Look farther down in the file for the following code:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">isset<\/span>($_GET&#91;<span class=\"hljs-string\">'search_in_description'<\/span>]) &amp;&amp; ($_GET&#91;<span class=\"hljs-string\">'search_in_description'<\/span>] == <span class=\"hljs-string\">'1'<\/span>)) {\n $where_str .= <span class=\"hljs-string\">\" OR pd.products_description \n                 LIKE '%:keywords%'\"<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Replace that code with:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Full Text Search<\/span>\n<span class=\"hljs-comment\">\/\/ if (isset($_GET&#91;'search_in_description']) &amp;&amp; ($_GET&#91;'search_in_description'] == '1')) {<\/span>\n<span class=\"hljs-comment\">\/\/  $where_str .= \" OR pd.products_description<\/span>\n<span class=\"hljs-comment\">\/\/                  LIKE '%:keywords%'\";<\/span>\n\n<span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">isset<\/span>($_GET&#91;<span class=\"hljs-string\">'search_in_description'<\/span>]) &amp;&amp; ($_GET&#91;<span class=\"hljs-string\">'search_in_description'<\/span>] == <span class=\"hljs-string\">'1'<\/span>)) {\n  $where_str .= <span class=\"hljs-string\">\" OR pd.products_description\n          LIKE '%:keywords%' OR pd.products_search\n          LIKE '%:keywords%'\"<\/span>;\n<span class=\"hljs-comment\">\/\/ End ROGER<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Now, closer to the end of the file, somewhere near line 420, and replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$order_str .= <span class=\"hljs-string\">\" order by p.products_sort_order, pd.products_name\"<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Full text search<\/span>\n<span class=\"hljs-comment\">\/\/ $order_str .= \" order by p.products_sort_order, pd.products_name\";<\/span>\n$order_str .= <span class=\"hljs-string\">\" order by rank1 DESC, rank2 DESC, p.products_sort_order, pd.products_name\"<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Okay, with these changes, the order of products returned for searches will be nicer.<\/p>\n\n\n\n<p>Now, to make it easier to edit the extra search text, we need to update the Edit Product admin page to allow you to enter text in the new <strong>products_search <\/strong>column.  Basically, everywhere the code deals with the <strong>products_description<\/strong> column, we duplicate it for the new <strong>products_search<\/strong> column.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">File Update: [admin]\/includes\/functions\/general.php<\/h4>\n\n\n\n<p>In the <em>[admin]\/includes\/functions\/general.php<\/em> file add the following new method:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">\/\/ Fulltext Search<\/span>\n  <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">zen_get_products_search<\/span><span class=\"hljs-params\">($product_id, $language_id)<\/span> <\/span>{\n    <span class=\"hljs-keyword\">global<\/span> $db;\n    $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT products_search\n                             FROM \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\"\n                             WHERE products_id = \"<\/span> . (int)$product_id . <span class=\"hljs-string\">\"\n                             AND language_id = \"<\/span> . (int)$language_id);\n    <span class=\"hljs-keyword\">if<\/span> ($prodif (<span class=\"hljs-keyword\">empty<\/span>($products_description)) $products_description = &#91;];\n<span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_search)) $products_search = &#91;];ct-&gt;EOF) <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">''<\/span>;\n    <span class=\"hljs-keyword\">return<\/span> $product-&gt;fields&#91;<span class=\"hljs-string\">'products_search'<\/span>];\n  }<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h4 class=\"wp-block-heading\">File Update: [admin]\/includes\/modules\/document_product\/preview_info.php<\/h4>\n\n\n\n<p>Now, edit the <em>[admin]\/includes\/modules\/document_product\/preview_info.php<\/em> file.  Near the top, find the code:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_description)) $products_description = &#91;];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Replace it with:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_description)) $products_description = &#91;];\n<span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_search)) $products_search = &#91;];<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Around line 20, replace this code:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $products_description = $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $products_description = $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>];\n  $products_search = $_POST&#91;<span class=\"hljs-string\">'products_search'<\/span>];<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Near line 28, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT p.*,\n                                  pd.language_id, pd.products_name, pd.products_description, pd.products_url\n                           FROM \"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p,\n                                \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\" pd\n                           WHERE p.products_id = pd.products_id\n                           AND p.products_id = \"<\/span> . (int)$_GET&#91;<span class=\"hljs-string\">'pID'<\/span>]);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT p.*,\n                                  pd.language_id, pd.products_name, pd.products_description, pd.products_search, pd.products_url\n                           FROM \"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p,\n                                \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\" pd\n                           WHERE p.products_id = pd.products_id\n                           AND p.products_id = \"<\/span> . (int)$_GET&#91;<span class=\"hljs-string\">'pID'<\/span>]);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Around line 41, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">    $products_description&#91;$prod&#91;<span class=\"hljs-string\">'language_id'<\/span>]] = $prod&#91;<span class=\"hljs-string\">'products_description'<\/span>];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">    $products_description&#91;$prod&#91;<span class=\"hljs-string\">'language_id'<\/span>]] = $prod&#91;<span class=\"hljs-string\">'products_description'<\/span>];\n    $products_search&#91;$prod&#91;<span class=\"hljs-string\">'language_id'<\/span>]] = $prod&#91;<span class=\"hljs-string\">'products_search'<\/span>];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Near line 54, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">    <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n      <span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">isset<\/span>($_GET&#91;<span class=\"hljs-string\">'read'<\/span>]) &amp;&amp; ($_GET&#91;<span class=\"hljs-string\">'read'<\/span>] == <span class=\"hljs-string\">'only'<\/span>)) {\n        $pInfo-&gt;products_name = zen_get_products_name($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n        $pInfo-&gt;products_description = zen_get_products_description($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n        $pInfo-&gt;products_url = zen_get_products_url($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n      } <span class=\"hljs-keyword\">else<\/span> {\n        $pInfo-&gt;products_name = zen_db_prepare_input($products_name&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n        $pInfo-&gt;products_description = zen_db_prepare_input($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n        $pInfo-&gt;products_url = zen_db_prepare_input($products_url&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n      }\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">    <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n      <span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">isset<\/span>($_GET&#91;<span class=\"hljs-string\">'read'<\/span>]) &amp;&amp; ($_GET&#91;<span class=\"hljs-string\">'read'<\/span>] == <span class=\"hljs-string\">'only'<\/span>)) {\n        $pInfo-&gt;products_name = zen_get_products_name($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n        $pInfo-&gt;products_description = zen_get_products_description($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n        $pInfo-&gt;products_search = zen_get_products_search($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n        $pInfo-&gt;products_url = zen_get_products_url($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]);\n      } <span class=\"hljs-keyword\">else<\/span> {\n        $pInfo-&gt;products_name = zen_db_prepare_input($products_name&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n        $pInfo-&gt;products_description = zen_db_prepare_input($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n        $pInfo-&gt;products_search = zen_db_prepare_input($products_search&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n        $pInfo-&gt;products_url = zen_db_prepare_input($products_url&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]);\n      }\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Around line 160, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-19\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_name&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_name&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_description&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_url&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_url&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n        }\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-19\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-20\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_name&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_name&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_description&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_search&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_search&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n          <span class=\"hljs-keyword\">echo<\/span> zen_draw_hidden_field(<span class=\"hljs-string\">'products_url&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, htmlspecialchars(stripslashes($products_url&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>));\n        }\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-20\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h4 class=\"wp-block-heading\">File Update: [admin]\/includes\/modules\/product\/collect_info.php<\/h4>\n\n\n\n<p>In the <em>[admin]\/includes\/modules\/product\/collect_info.php<\/em> file, near line 11, change:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-21\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$parameters = &#91;\n  <span class=\"hljs-string\">'products_name'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_description'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_url'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_model'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_image'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_price'<\/span> =&gt; <span class=\"hljs-string\">'0.0000'<\/span>,\n  <span class=\"hljs-string\">'products_virtual'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_VIRTUAL,\n  <span class=\"hljs-string\">'products_weight'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_date_added'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_last_modified'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_date_available'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_status'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_tax_class_id'<\/span> =&gt; DEFAULT_PRODUCT_TAX_CLASS_ID,\n  <span class=\"hljs-string\">'manufacturers_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_min'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_units'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_priced_by_attribute'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_free'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_call'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_mixed'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'product_is_always_free_shipping'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_IS_ALWAYS_FREE_SHIPPING,\n  <span class=\"hljs-string\">'products_qty_box_status'<\/span> =&gt; PRODUCTS_QTY_BOX_STATUS,\n  <span class=\"hljs-string\">'products_quantity_order_max'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_sort_order'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type_from'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_price_sorter'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'master_categories_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-21\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-22\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$parameters = &#91;\n  <span class=\"hljs-string\">'products_name'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_description'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_search'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_url'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_model'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_image'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_price'<\/span> =&gt; <span class=\"hljs-string\">'0.0000'<\/span>,\n  <span class=\"hljs-string\">'products_virtual'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_VIRTUAL,\n  <span class=\"hljs-string\">'products_weight'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_date_added'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_last_modified'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_date_available'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_status'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_tax_class_id'<\/span> =&gt; DEFAULT_PRODUCT_TAX_CLASS_ID,\n  <span class=\"hljs-string\">'manufacturers_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_min'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_units'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_priced_by_attribute'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_free'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_call'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_mixed'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'product_is_always_free_shipping'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_IS_ALWAYS_FREE_SHIPPING,\n  <span class=\"hljs-string\">'products_qty_box_status'<\/span> =&gt; PRODUCTS_QTY_BOX_STATUS,\n  <span class=\"hljs-string\">'products_quantity_order_max'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_sort_order'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type_from'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_price_sorter'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'master_categories_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-22\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Near line 48, change:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-23\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT pd.products_name, pd.products_description, pd.products_url,\n                                  p.*, \n                                  date_format(p.products_date_available, '\"<\/span> .  zen_datepicker_format_forsql() . <span class=\"hljs-string\">\"') as products_date_available\n                           FROM \"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p,\n                                \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\" pd\n                           WHERE p.products_id = \"<\/span> . (int)$_GET&#91;<span class=\"hljs-string\">'pID'<\/span>] . <span class=\"hljs-string\">\"\n                           AND p.products_id = pd.products_id\n                           AND pd.language_id = \"<\/span> . (int)$_SESSION&#91;<span class=\"hljs-string\">'languages_id'<\/span>]);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-23\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-24\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT pd.products_name, pd.products_description, pd.products_search, pd.products_url,\n                                  p.*, \n                                  date_format(p.products_date_available, '\"<\/span> .  zen_datepicker_format_forsql() . <span class=\"hljs-string\">\"') as products_date_available\n                           FROM \"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p,\n                                \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\" pd\n                           WHERE p.products_id = \"<\/span> . (int)$_GET&#91;<span class=\"hljs-string\">'pID'<\/span>] . <span class=\"hljs-string\">\"\n                           AND p.products_id = pd.products_id\n                           AND pd.language_id = \"<\/span> . (int)$_SESSION&#91;<span class=\"hljs-string\">'languages_id'<\/span>]);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-24\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Around line 61, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-25\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $products_description = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-25\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-26\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $products_description = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n  $products_search = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_search'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_search'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-26\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Around line 323, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-27\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">  &lt;div <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span><\/span>=<span class=\"hljs-string\">\"form-group\"<\/span>&gt;\n      <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-3 control-label\"<\/span>&gt;<\/span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> TEXT_PRODUCTS_DESCRIPTION; <span class=\"hljs-meta\">?&gt;<\/span><\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span><\/span>\n    <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-9 col-md-6\"<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group\"<\/span>&gt;<\/span>\n          <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group-addon\"<\/span>&gt;<\/span>\n              <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_image(DIR_WS_CATALOG_LANGUAGES . $languages&#91;$i]&#91;<span class=\"hljs-string\">'directory'<\/span>] . <span class=\"hljs-string\">'\/images\/'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'image'<\/span>], $languages&#91;$i]&#91;<span class=\"hljs-string\">'name'<\/span>]); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n          <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">span<\/span>&gt;<\/span>\n          <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_draw_textarea_field(<span class=\"hljs-string\">'products_description&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, <span class=\"hljs-string\">'soft'<\/span>, <span class=\"hljs-string\">'100'<\/span>, <span class=\"hljs-string\">'30'<\/span>, htmlspecialchars((<span class=\"hljs-keyword\">isset<\/span>($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]])) ? stripslashes($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]) : zen_get_products_description($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>), <span class=\"hljs-string\">'class=\"editorHook form-control\"'<\/span>); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">br<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n      }\n      <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span><\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-27\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-28\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">  &lt;div <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span><\/span>=<span class=\"hljs-string\">\"form-group\"<\/span>&gt;\n      <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-3 control-label\"<\/span>&gt;<\/span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> TEXT_PRODUCTS_DESCRIPTION; <span class=\"hljs-meta\">?&gt;<\/span><\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span><\/span>\n    <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-9 col-md-6\"<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group\"<\/span>&gt;<\/span>\n          <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group-addon\"<\/span>&gt;<\/span>\n              <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_image(DIR_WS_CATALOG_LANGUAGES . $languages&#91;$i]&#91;<span class=\"hljs-string\">'directory'<\/span>] . <span class=\"hljs-string\">'\/images\/'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'image'<\/span>], $languages&#91;$i]&#91;<span class=\"hljs-string\">'name'<\/span>]); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n          <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">span<\/span>&gt;<\/span>\n          <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_draw_textarea_field(<span class=\"hljs-string\">'products_description&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, <span class=\"hljs-string\">'soft'<\/span>, <span class=\"hljs-string\">'100'<\/span>, <span class=\"hljs-string\">'30'<\/span>, htmlspecialchars((<span class=\"hljs-keyword\">isset<\/span>($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]])) ? stripslashes($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]) : zen_get_products_description($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>), <span class=\"hljs-string\">'class=\"editorHook form-control\"'<\/span>); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">br<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n      }\n      <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span><\/span>\n  <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"form-group\"<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-3 control-label\"<\/span>&gt;<\/span>Extra Search Text<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-9 col-md-6\"<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group\"<\/span>&gt;<\/span>\n          <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group-addon\"<\/span>&gt;<\/span>\n              <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_image(DIR_WS_CATALOG_LANGUAGES . $languages&#91;$i]&#91;<span class=\"hljs-string\">'directory'<\/span>] . <span class=\"hljs-string\">'\/images\/'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'image'<\/span>], $languages&#91;$i]&#91;<span class=\"hljs-string\">'name'<\/span>]); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n          <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">span<\/span>&gt;<\/span>\n          <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_draw_textarea_field(<span class=\"hljs-string\">'products_search&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, <span class=\"hljs-string\">'soft'<\/span>, <span class=\"hljs-string\">'100'<\/span>, <span class=\"hljs-string\">'30'<\/span>, htmlspecialchars((<span class=\"hljs-keyword\">isset<\/span>($products_search&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]])) ? stripslashes($products_search&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]) : zen_get_products_search($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>), <span class=\"hljs-string\">'class=\"editorHook form-control\"'<\/span>); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">br<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n      }\n      <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-28\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h4 class=\"wp-block-heading\">File Update: [admin]\/includes\/modules\/product\/collect_info.php<\/h4>\n\n\n\n<p>In the <em>[admin]\/includes\/modules\/product\/collect_info.php<\/em> file, near line 11, change:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-29\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$parameters = &#91;\n  <span class=\"hljs-string\">'products_name'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_description'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_url'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_model'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_image'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_price'<\/span> =&gt; <span class=\"hljs-string\">'0.0000'<\/span>,\n  <span class=\"hljs-string\">'products_virtual'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_VIRTUAL,\n  <span class=\"hljs-string\">'products_weight'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_date_added'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_last_modified'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_date_available'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_status'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_tax_class_id'<\/span> =&gt; DEFAULT_PRODUCT_TAX_CLASS_ID,\n  <span class=\"hljs-string\">'manufacturers_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_min'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_units'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_priced_by_attribute'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_free'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_call'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_mixed'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'product_is_always_free_shipping'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_IS_ALWAYS_FREE_SHIPPING,\n  <span class=\"hljs-string\">'products_qty_box_status'<\/span> =&gt; PRODUCTS_QTY_BOX_STATUS,\n  <span class=\"hljs-string\">'products_quantity_order_max'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_sort_order'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type_from'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_price_sorter'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'master_categories_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-29\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-30\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">$parameters = &#91;\n  <span class=\"hljs-string\">'products_name'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_description'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_search'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_url'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_model'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_image'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_price'<\/span> =&gt; <span class=\"hljs-string\">'0.0000'<\/span>,\n  <span class=\"hljs-string\">'products_virtual'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_VIRTUAL,\n  <span class=\"hljs-string\">'products_weight'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_date_added'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_last_modified'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_date_available'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_status'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_tax_class_id'<\/span> =&gt; DEFAULT_PRODUCT_TAX_CLASS_ID,\n  <span class=\"hljs-string\">'manufacturers_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_min'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_order_units'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'products_priced_by_attribute'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_free'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'product_is_call'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_quantity_mixed'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\n  <span class=\"hljs-string\">'product_is_always_free_shipping'<\/span> =&gt; DEFAULT_PRODUCT_PRODUCTS_IS_ALWAYS_FREE_SHIPPING,\n  <span class=\"hljs-string\">'products_qty_box_status'<\/span> =&gt; PRODUCTS_QTY_BOX_STATUS,\n  <span class=\"hljs-string\">'products_quantity_order_max'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_sort_order'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_discount_type_from'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'products_price_sorter'<\/span> =&gt; <span class=\"hljs-string\">'0'<\/span>,\n  <span class=\"hljs-string\">'master_categories_id'<\/span> =&gt; <span class=\"hljs-string\">''<\/span>,\n];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-30\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Near line 47, replace:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-31\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">isset<\/span>($_GET&#91;<span class=\"hljs-string\">'pID'<\/span>]) &amp;&amp; <span class=\"hljs-keyword\">empty<\/span>($_POST)) {\n  $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT pd.products_name, pd.products_description, pd.products_url,\n                                  p.*, \n                                  date_format(p.products_date_available, '\"<\/span> .  zen_datepicker_format_forsql() . <span class=\"hljs-string\">\"') as products_date_available\n                           FROM \"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p,\n                                \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\" pd\n                           WHERE p.products_id = \"<\/span> . (int)$_GET&#91;<span class=\"hljs-string\">'pID'<\/span>] . <span class=\"hljs-string\">\"\n                           AND p.products_id = pd.products_id\n                           AND pd.language_id = \"<\/span> . (int)$_SESSION&#91;<span class=\"hljs-string\">'languages_id'<\/span>]);\n\n  $pInfo-&gt;updateObjectInfo($product-&gt;fields);\n} <span class=\"hljs-keyword\">elseif<\/span> (zen_not_null($_POST)) {\n  $pInfo-&gt;updateObjectInfo($_POST);\n  $products_name = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_name'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_name'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n  $products_description = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n  $products_url = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_url'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_url'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-31\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>With:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-32\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">isset<\/span>($_GET&#91;<span class=\"hljs-string\">'pID'<\/span>]) &amp;&amp; <span class=\"hljs-keyword\">empty<\/span>($_POST)) {\n  $product = $db-&gt;Execute(<span class=\"hljs-string\">\"SELECT pd.products_name, pd.products_description, pd.products_search, pd.products_url,\n                                  p.*, \n                                  date_format(p.products_date_available, '\"<\/span> .  zen_datepicker_format_forsql() . <span class=\"hljs-string\">\"') as products_date_available\n                           FROM \"<\/span> . TABLE_PRODUCTS . <span class=\"hljs-string\">\" p,\n                                \"<\/span> . TABLE_PRODUCTS_DESCRIPTION . <span class=\"hljs-string\">\" pd\n                           WHERE p.products_id = \"<\/span> . (int)$_GET&#91;<span class=\"hljs-string\">'pID'<\/span>] . <span class=\"hljs-string\">\"\n                           AND p.products_id = pd.products_id\n                           AND pd.language_id = \"<\/span> . (int)$_SESSION&#91;<span class=\"hljs-string\">'languages_id'<\/span>]);\n\n  $pInfo-&gt;updateObjectInfo($product-&gt;fields);\n} <span class=\"hljs-keyword\">elseif<\/span> (zen_not_null($_POST)) {\n  $pInfo-&gt;updateObjectInfo($_POST);\n  $products_name = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_name'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_name'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n  $products_description = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n  $products_search = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_search'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_search'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n  $products_url = <span class=\"hljs-keyword\">isset<\/span>($_POST&#91;<span class=\"hljs-string\">'products_url'<\/span>]) ? $_POST&#91;<span class=\"hljs-string\">'products_url'<\/span>] : <span class=\"hljs-string\">''<\/span>;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-32\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Near line 323, change:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-33\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">  &lt;div <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span><\/span>=<span class=\"hljs-string\">\"form-group\"<\/span>&gt;\n      <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-3 control-label\"<\/span>&gt;<\/span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> TEXT_PRODUCTS_DESCRIPTION; <span class=\"hljs-meta\">?&gt;<\/span><\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span><\/span>\n    <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-9 col-md-6\"<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group\"<\/span>&gt;<\/span>\n          <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group-addon\"<\/span>&gt;<\/span>\n              <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_image(DIR_WS_CATALOG_LANGUAGES . $languages&#91;$i]&#91;<span class=\"hljs-string\">'directory'<\/span>] . <span class=\"hljs-string\">'\/images\/'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'image'<\/span>], $languages&#91;$i]&#91;<span class=\"hljs-string\">'name'<\/span>]); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n          <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">span<\/span>&gt;<\/span>\n          <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_draw_textarea_field(<span class=\"hljs-string\">'products_description&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, <span class=\"hljs-string\">'soft'<\/span>, <span class=\"hljs-string\">'100'<\/span>, <span class=\"hljs-string\">'30'<\/span>, htmlspecialchars((<span class=\"hljs-keyword\">isset<\/span>($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]])) ? stripslashes($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]) : zen_get_products_description($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>), <span class=\"hljs-string\">'class=\"editorHook form-control\"'<\/span>); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">br<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n      }\n      <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span><\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-33\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-34\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">  &lt;div <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span><\/span>=<span class=\"hljs-string\">\"form-group\"<\/span>&gt;\n      <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-3 control-label\"<\/span>&gt;<\/span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> TEXT_PRODUCTS_DESCRIPTION; <span class=\"hljs-meta\">?&gt;<\/span><\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span><\/span>\n    <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-9 col-md-6\"<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group\"<\/span>&gt;<\/span>\n          <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group-addon\"<\/span>&gt;<\/span>\n              <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_image(DIR_WS_CATALOG_LANGUAGES . $languages&#91;$i]&#91;<span class=\"hljs-string\">'directory'<\/span>] . <span class=\"hljs-string\">'\/images\/'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'image'<\/span>], $languages&#91;$i]&#91;<span class=\"hljs-string\">'name'<\/span>]); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n          <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">span<\/span>&gt;<\/span>\n          <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_draw_textarea_field(<span class=\"hljs-string\">'products_description&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, <span class=\"hljs-string\">'soft'<\/span>, <span class=\"hljs-string\">'100'<\/span>, <span class=\"hljs-string\">'30'<\/span>, htmlspecialchars((<span class=\"hljs-keyword\">isset<\/span>($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]])) ? stripslashes($products_description&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]) : zen_get_products_description($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>), <span class=\"hljs-string\">'class=\"editorHook form-control\"'<\/span>); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">br<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n      }\n      <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span><\/span>\n  <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"form-group\"<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-3 control-label\"<\/span>&gt;<\/span>Extra Search Text<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"col-sm-9 col-md-6\"<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n        <span class=\"hljs-keyword\">for<\/span> ($i = <span class=\"hljs-number\">0<\/span>, $n = count($languages); $i &lt; $n; $i++) {\n          <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group\"<\/span>&gt;<\/span>\n          <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"input-group-addon\"<\/span>&gt;<\/span>\n              <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_image(DIR_WS_CATALOG_LANGUAGES . $languages&#91;$i]&#91;<span class=\"hljs-string\">'directory'<\/span>] . <span class=\"hljs-string\">'\/images\/'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'image'<\/span>], $languages&#91;$i]&#91;<span class=\"hljs-string\">'name'<\/span>]); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n          <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">span<\/span>&gt;<\/span>\n          <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> <span class=\"hljs-keyword\">echo<\/span> zen_draw_textarea_field(<span class=\"hljs-string\">'products_search&#91;'<\/span> . $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>] . <span class=\"hljs-string\">']'<\/span>, <span class=\"hljs-string\">'soft'<\/span>, <span class=\"hljs-string\">'100'<\/span>, <span class=\"hljs-string\">'30'<\/span>, htmlspecialchars((<span class=\"hljs-keyword\">isset<\/span>($products_search&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]])) ? stripslashes($products_search&#91;$languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]]) : zen_get_products_search($pInfo-&gt;products_id, $languages&#91;$i]&#91;<span class=\"hljs-string\">'id'<\/span>]), ENT_COMPAT, CHARSET, <span class=\"hljs-keyword\">TRUE<\/span>), <span class=\"hljs-string\">'class=\"editorHook form-control\"'<\/span>); <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">br<\/span>&gt;<\/span>\n        <span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span>\n      }\n      <span class=\"hljs-meta\">?&gt;<\/span><\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-34\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h4 class=\"wp-block-heading\">File Update: [admin]\/includes\/modules\/product\/preview_info.php<\/h4>\n\n\n\n<p>In the <em>[admin]\/includes\/modules\/product\/preview_info.php<\/em> file, near line 12, change:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-35\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_description)) $products_description = &#91;];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-35\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-36\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_description)) $products_description = &#91;];\n<span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">empty<\/span>($products_search)) $products_search = &#91;];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-36\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Around line 20, change:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-37\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $products_description = $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-37\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-38\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">  $products_description = $_POST&#91;<span class=\"hljs-string\">'products_description'<\/span>];\n  $products_search = $_POST&#91;<span class=\"hljs-string\">'products_search'<\/span>];\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-38\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>Now, when a visitor searches for a product on your Zen Cart store web site the search results will be more relevant and ordered by relevancy.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>You Can&#8217;t Always Find What You Want &#8230;. Zen Cart&#8217;s search function doesn&#8217;t work very well. Search results are not ordered by relevance and many search terms produce no results even though there are products that should be listed. In this article I describe how I made the search function work better for our model [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13","post","type-post","status-publish","format-standard","hentry","category-upgrades"],"_links":{"self":[{"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":14,"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"predecessor-version":[{"id":100,"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/posts\/13\/revisions\/100"}],"wp:attachment":[{"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jonrocket.com\/zencart\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}