Добрый день,
Есть ли возможность сделать отображение фильтров по цветам, не словами "черный" "белый", а блоками с соответствующим цветом. Как здесь например http://prntscr.com/8ro1g4 ?
Сообщений в теме: 6
#1
Отправлено 15 October 2015 - 21:16
#2
Отправлено 16 October 2015 - 04:17
Реализовать подобное можно только в ручном формате, каждый цвет необходимо вбивать вручную или указывать картинку, вас подобный вариант устроит, то есть текст мы будем вручную подменять на картинку?
#3
Отправлено 17 October 2015 - 15:09
Да, устроит.
#4
Отправлено 28 October 2015 - 06:42
В необходимой категории добавьте фильтр по характеристикам, а именно цвету, далее в шаблоне HTML найдите:
замените на:
в конец main.js вставьте:
В последующем вам необходимо редактировать код в main.js, а именно строку:
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
{% FOR filter_attr_list %}
<div class="filter">
{filter_attr_list.NAME}:<br />
{% FOR values %}
<label class="filter2-label">
<input value="1" type="checkbox" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %} onclick="$(this).attr('name', $(this).attr('value') == -1 ? '' : $(this).attr('rel'));this.form.submit();" name="{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}">
{filter_attr_list.values.VALUE} ({filter_attr_list.values.NB_GOODS_FILTERED})
</label>
{% ENDFOR %}
</div>
{% ENDFOR %}
замените на:
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
{% FOR filter_attr_list %}
<div class="filter {% IF filter_attr_list.NAME = Цвет %}colors{% ENDIF %}">
{filter_attr_list.NAME}:<br />
{% FOR values %}
<label class="filter2-label">
<input value="1" type="checkbox" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %} onclick="$(this).attr('name', $(this).attr('value') == -1 ? '' : $(this).attr('rel'));this.form.submit();" name="{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}">
<span>{filter_attr_list.values.VALUE}</span> ({filter_attr_list.values.NB_GOODS_FILTERED})
</label>
{% ENDFOR %}
</div>
{% ENDFOR %}
в конец main.js вставьте:
$(function() {
var colors = {'Коричневый': 'brown', 'Серый': 'gray', 'Черный': 'black'};
$('.filter.colors label span').each(function() {
var name = $.trim($(this).text());
if(name in colors) {
$(this).css({
'backgroundColor': colors[name]
});
}
});
});
В последующем вам необходимо редактировать код в main.js, а именно строку:
var colors = {'Коричневый': 'brown', 'Серый': 'gray', 'Черный': 'black'};
#5
Отправлено 29 November 2015 - 20:54
Спасибо. Попробовал, и получилось что фоном для названий цветов стали соответствующие цвета. Скриншот http://prntscr.com/98daql
Но так выглядит не упорядоченно.
Можно ли сделать чтобы перед названием цвета появлялся 15х15px прямоугольник, у которого уже фон был бы соответствующего цвета? На скриншото изобразил что имею ввиду http://prntscr.com/98dcvb
Сам я не додумался как.
Но так выглядит не упорядоченно.
Можно ли сделать чтобы перед названием цвета появлялся 15х15px прямоугольник, у которого уже фон был бы соответствующего цвета? На скриншото изобразил что имею ввиду http://prntscr.com/98dcvb
Сам я не додумался как.
#6
Отправлено 03 December 2015 - 04:31
В main.js:
замените на:
В style.css добавьте:
$(function() {
var colors = {'Коричневый': 'brown', 'Серый': 'gray', 'Черный': 'black'};
$('.filter.colors label span').each(function() {
var name = $.trim($(this).text());
if(name in colors) {
$(this).css({
'backgroundColor': colors[name]
});
}
});
});
замените на:
$(function() {
var colors = {'Коричневый': 'brown', 'Серый': 'gray', 'Черный': 'black'};
$('.filter.colors label span').each(function() {
var name = $.trim($(this).text());
if(name in colors) {
$(this).prepend("<span class='color_label'></span>");
$(this).find('span').css({
'backgroundColor': colors[name]
});
}
});
});
В style.css добавьте:
.filter.colors label span.color_label {
content: " ";
width: 15px;
height: 15px;
display: inline-block;
vertical-align: middle;
margin-right: 5px;
}
#7
Отправлено 04 December 2015 - 15:16
Отлично получилось, спасибо большое!
Темы с аналогичным тегами фильтры
Повышение продаж, продвижение →
Общие вопросы →
Несколько Вопросов (If, For, Фильтры)Автор Гость_TallZmm_* , 26 Dec 2015 |
|
|
||
Вопросы работы сервиса StoreLand →
Дизайн →
Шаблон Шоколад →
Изменение общей стилистики →
Возможно Ли Применение Фильтров На Сайте?Автор Гость_BeLoveAll_* , 07 Nov 2015 |
|
|
||
Вопросы работы сервиса StoreLand →
Дизайн →
Шаблон Движение →
Каталог товаров →
Переместить ФильтрыАвтор Гость_Jambul_* , 16 Jul 2015 |
|
|
||
Вопросы работы сервиса StoreLand →
Дизайн →
Шаблон Движение →
Каталог товаров →
ФильтрыАвтор Гость_1egi0n_* , 05 Aug 2014 |
|
|
||
Вопросы работы сервиса StoreLand →
Дизайн →
Шаблон Весна →
Изменение общей стилистики →
Фильтры, Характеристики.Автор Гость_Zagadaika_* , 25 Jun 2014 |
|
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных













