Сообщение #1 makki » 27.09.2017, 14:28
Небольшое дополнение для тех, у кого товары имеют именованные варианты.
После проделанных изменений, в выпадающем списке результатов поиска, в скобках после названия товара будет показываться название варианта или вариантов (если их несколько) товара. Цена показывается для первого варианта. Если вариант товара без названия, ничего не меняется, просто отображается название товара. (см.скрин)
1) В ajax/search_products.phpпосле строчки
добавляем
Код: Выделить всё
foreach ($variants[$product->id] as $key => $variant) {
if($key == 0) {
$suggestion->variant = $variant->name;
} else {
$suggestion->variant .= ", " .$variant->name;
}
}
2) В design/ваш_шаблон/js/okay.js в функции
вместо строчки
Код: Выделить всё
return "<div>" + (suggestion.data.image ? "<img align=absmiddle src='" + suggestion.data.image + "'> " : '') + "</div>" + "<a href=" + suggestion.lang + "products/" + suggestion.data.url + '>' + suggestion.value.replace( new RegExp( pattern, 'gi' ), '<strong>$1<\/strong>' ) + '<\/a>' + "<span>" + suggestion.price + " " + suggestion.currency + "</span>";
пишем
Код: Выделить всё
return "<div>" + (suggestion.data.image ? "<img align=absmiddle src='" + suggestion.data.image + "'> " : '') + "</div>" + "<a href=" + suggestion.lang + "products/" + suggestion.data.url + '>' + suggestion.value.replace( new RegExp( pattern, 'gi' ), '<strong>$1<\/strong>' ) + (suggestion.variant ? " (" + suggestion.variant + ")" : '') + '<\/a>' + "<span>" + suggestion.price + " " + suggestion.currency + "</span>";
Небольшое дополнение для тех, у кого товары имеют именованные варианты.
После проделанных изменений, в выпадающем списке результатов поиска, в скобках после названия товара будет показываться название варианта или вариантов (если их несколько) товара. Цена показывается для первого варианта. Если вариант товара без названия, ничего не меняется, просто отображается название товара. (см.скрин)
[attachment=0]Screen.jpg[/attachment]
[b]1) В ajax/search_products.php[/b]
после строчки
[code]$suggestion->value = $product->name;[/code]
добавляем
[code] foreach ($variants[$product->id] as $key => $variant) {
if($key == 0) {
$suggestion->variant = $variant->name;
} else {
$suggestion->variant .= ", " .$variant->name;
}
}[/code]
[b]2) В design/ваш_шаблон/js/okay.js[/b] в функции [code]$( ".fn_search" ).autocomplete( {[/code]
вместо строчки
[code]return "<div>" + (suggestion.data.image ? "<img align=absmiddle src='" + suggestion.data.image + "'> " : '') + "</div>" + "<a href=" + suggestion.lang + "products/" + suggestion.data.url + '>' + suggestion.value.replace( new RegExp( pattern, 'gi' ), '<strong>$1<\/strong>' ) + '<\/a>' + "<span>" + suggestion.price + " " + suggestion.currency + "</span>";[/code]
пишем
[code]return "<div>" + (suggestion.data.image ? "<img align=absmiddle src='" + suggestion.data.image + "'> " : '') + "</div>" + "<a href=" + suggestion.lang + "products/" + suggestion.data.url + '>' + suggestion.value.replace( new RegExp( pattern, 'gi' ), '<strong>$1<\/strong>' ) + (suggestion.variant ? " (" + suggestion.variant + ")" : '') + '<\/a>' + "<span>" + suggestion.price + " " + suggestion.currency + "</span>";[/code]
Последний раз редактировалось
makki 27.09.2017, 17:16, всего редактировалось 5 раз.
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)