首先搜索标题,如果没有结果,请转到产品说明搜索



我有一个zencart网站,目前我需要客户首先搜索瓷砖,因为如果搜索产品描述也将获得很多结果。因此,我更改'search_in_description',转换为" 0"," 0",",如果我需要在产品描述中需要搜索的情况下,该怎么办,如果没有从标题搜索获得结果?

$content = "";
    $content .= zen_draw_form('quick_find_header', zen_href_link(FILENAME_ADVANCED_SEARCH_RESULT, '', $request_type, false), 'get');
    $content .= "<span>Search: </span>";
    $content .= zen_draw_hidden_field('main_page',FILENAME_ADVANCED_SEARCH_RESULT);
    $content .= zen_draw_hidden_field('search_in_description', '0') . zen_hide_session_id();
    if (strtolower(IMAGE_USE_CSS_BUTTONS) == 'yes') {
        $content .= zen_draw_input_field('keyword', '', 'size="6" maxlength="120" class="search-header-box" value="' . HEADER_SEARCH_DEFAULT_TEXT . '" onfocus="if (this.value == '' . HEADER_SEARCH_DEFAULT_TEXT . '') this.value = '';" onblur="if (this.value == '') this.value = '' . HEADER_SEARCH_DEFAULT_TEXT . '';"') . '' . zen_image_submit (BUTTON_IMAGE_SEARCH,HEADER_SEARCH_BUTTON);
    } else {
        $content .= zen_draw_input_field('keyword', '', 'size="6" class="search-header-box" maxlength="120" value="' . HEADER_SEARCH_DEFAULT_TEXT . '" onfocus="if (this.value == '' . HEADER_SEARCH_DEFAULT_TEXT . '') this.value = '';" onblur="if (this.value == '') this.value = '' . HEADER_SEARCH_DEFAULT_TEXT . '';"');
    }
    $content .= zen_draw_pull_down_menu('categories_id', $categories_array,'','class="select" id="light_select"');
    $content .= "</form>";
?>

它不在模板文件中(您要显示的内容)。更改应包括/模块/页/高级_search/header_php.php。

使用版本1.5.5e行号:

第463行

以下
if ($result->number_of_rows == 0) {

您想重新运行查询,但是在启用产品描述中的搜索中。

这就是我的方式。在第335行的第330行结束后的IF块之后,我会提出一个永远不会触发的子句,例如:

} else { 
   $where_str .= " OR (1=0)"
}

然后在第463行,当原始搜索失败时,将" 1 = 0"替换为产品说明搜索逻辑

for ($i=0, $n=sizeof($search_keywords); $i<$n; $i++ ) {
   $new_str .= " OR pd.products_description
                          LIKE '%:keywords%'";
   $new_str .= $db->bindVars($new_str, ':keywords', $search_keywords[$i], 'noquotestring');
}

然后使用str_replace1=0更改为$new_str,然后再次调用splitPageResults

我建议安装重新加载的搜索模块。比您可以添加重量名称,元标签等。如果您不满意中等级别的模块安装,我会找到有人为您安装。

最新更新