Я по-прежнему читал различные записи о поиске по описаниям и подкатегориям в opencart по умолчанию, но у меня есть уникальная проблема. У меня есть два файла заголовка, потому что у моего сайта есть 2 заголовка ... один для главной страницы и один для каждой другой страницы.Opencart 1.5.4 Поиск по описанию
Главная страница: https://garrysun.com/
Другие страницы: https://garrysun.com/ayurveda-products/categories
Когда я ищу на домашней странице я получаю правильные результаты (поиск слово «сердце»), но когда я ищу любая другая страница it не возвращает поиск для описания или подкатегорий.
Главная страница Результаты поиска: https://garrysun.com/index.php?route=product/search&filter_description=true&filter_sub_category=true&filter_name=heart
Другие Страницы результатов поиска: https://garrysun.com/index.php?route=product/search&filter_name=heart
Как вы можете видеть, когда я искать другую страницу дополнительный код не добавляется искать в описаниях и подкатегорий.
Так почему же этот новый код, который я добавил для домашней страницы, не для какой-либо другой страницы?
Чтобы сделать эту функцию поиска работы я изменил common.js файл, чтобы посмотреть, как это (добавление двух строк ниже каждого «URL = $ (база ...» раздел:
/* Search */
$('.button-search').bind('click', function() {
url = $('base').attr('href') + 'index.php?route=product/search';
url += '&filter_description=true'; // ADDED this to search descriptions
url += '&filter_sub_category=true'; // ADDED this to search sub-categories
var filter_name = $('input[name=\'filter_name\']').attr('value');
if (filter_name) {
url += '&filter_name=' + encodeURIComponent(filter_name) ;
}
location = url;
});
$('#header input[name=\'filter_name\']').bind('keydown', function(e) {
if (e.keyCode == 13) {
url = $('base').attr('href') + 'index.php?route=product/search';
url += '&filter_description=true'; // ADDED this to search descriptions
url += '&filter_sub_category=true'; // ADDED this to search sub-categories
var filter_name = $('input[name=\'filter_name\']').attr('value');
if (filter_name) {
url += '&filter_name=' + encodeURIComponent(filter_name) ;
}
location = url;
}
});
Оба заголовочные файлы используют один и тот же код для вызова функции поиска:
<div id="search">
<div class="button-search"></div>
<?php if ($filter_name) { ?>
<input type="text" name="filter_name" value="<?php echo $filter_name; ?>" />
<?php } else { ?>
<input type="text" name="filter_name" value="<?php echo $text_search; ?>" onclick="this.value = '';" onkeydown="this.style.color = '#000000';" />
<?php } ?>
</div>
</div>
Спасибо, спасибо, спасибо! Я бил себя по голове, пытаясь понять это. Прекрасно работает! – MattM
Рад, что я мог помочь! :) Удачи! – Yani