Ответить Новая тема Новый опрос 
 Ссылка на категорию из быстрых результатов поиска
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


13-08-2015 16:19
Здравствуйте,
Возможно ли добавить кликабельную ссылку на категорию в результатах ajax поиска?
Сейчас мой js выдающий результат выглядит так:

Код:
$("#search_query_" + blocksearch_type).autocomplete(
            search_url,
            {
                minChars: 3,
                max: 8,
                width: (width_ac_results > 0 ? width_ac_results : 500),
                selectFirst: false,
                scroll: false,
                dataType: "json",
                formatItem: function(data, i, max, value, term) {
                        if(data.image!=null)
                                return "<img src=\"" + baseDir + "img/p/" + data.image.split('').join('/')+"/" + data.image+ "-cart_default.jpg\" alt=\"" + value + "\" />" + value + "<span>" + data.cname + "</span>";
                        else
              
                return "<img src=\"" + baseDir + "img/p/none.gif\" alt=\"" + value + "\" />"    + value;},
                parse: function(data) {
                    var mytab = new Array();
                    for (var i = 0; i < data.length; i++)
                        mytab[mytab.length] = { data: data[i], value: data[i].pname };
                    return mytab;
                },
                extraParams: {
                    ajaxSearch: 1,
                    id_lang: id_lang
                }
            }
        )


Я добавил: + "<span>" + data.cname + "</span>" чтобы справа продукта писалась категория, но ссылку на нее сделать не получается.
Пожалуйста, нужна помощь.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


13-08-2015 17:20
Откройте файл /controllers/front/SearchController.php и замените:
Код:
foreach ($searchResults as &$product)
    $product['product_link'] = $this->context->link->getProductLink($product['id_product'], $product['prewrite'], $product['crewrite']);

на:
Код:
foreach ($searchResults as &$product)
{
    $id_category = Db::getInstance()->getValue('SELECT `id_category_default` FROM `'._DB_PREFIX_.'product` WHERE `id_product` = '.(int)$product['id_product']);
    $product['cat_link'] = $this->context->link->getCategoryLink((int)$id_category, $product['crewrite']);
    $product['product_link'] = $this->context->link->getProductLink($product['id_product'], $product['prewrite'], $product['crewrite']);
}


В blocksearch.js используйте:
Код:
data.cat_link
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
CitizenDild0
Новичок
Сообщений: 74
Регистрация: 24-09-2010


13-08-2015 19:39
Огромное спасибо, все работает!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос