Перейти к содержимому


Объединить Характеристики


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Andrew S.

Andrew S.

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 11 Апрель 2014 - 14:38

Подскажите как объединить наименования характеристик, а правая часть чтобы шла через дробь или запятую, перечислением:
Группировать характеристики.png

Здесь "антивандальная", "показатель защиты" и "фокусное расстояние, мм" повторяются.

#2 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 12 Апрель 2014 - 04:31

Как вариант можно группировать характеристики через условия.
Пример стандартного кода:
<!-- Блок характеристик товара. Показываем его если указаны характеристики -->
{% IFNOT goods_features_empty %}
<h3 style="padding-top:1em;">Характеристики {GOODS_NAME}</h3>
<table class="goodsDataFeatures">
	 <tr>
	 {% FOR goods_features%}
		 <td>
		 <p>{goods_features.NAME}</p>
		 </td>
		 <td>
		 {goods_features.VALUE}
		 </td>
		 {goods_features.index | is_divided("2","</tr><tr>","")}
	 {% ENDFOR %}
	 </tr>
</table>
{% ENDIF %}
<!-- END Блок характеристик товара. Показываем его если указаны характеристики -->

Пример измененного кода, где сгруппированы характеристики с именем "Аккумулятор":
<!-- Блок характеристик товара. Показываем его если указаны характеристики -->
{% IFNOT goods_features_empty %}
<h3 style="padding-top:1em;">Характеристики {GOODS_NAME}</h3>

<table class="goodsDataFeatures">
<tr>
<td>
<p>Аккумулятор</p>
</td>
<td>
{% FOR goods_features%}
{% IF goods_features.NAME=Аккумулятор %}
<span>{goods_features.VALUE}, </span>
{% ENDIF %}
{% ENDFOR %}
</td>
</tr>
</table>

<table class="goodsDataFeatures">
{% FOR goods_features%}{% IFNOT goods_features.NAME=Аккумулятор %}
<tr>
<td>
<p>{goods_features.NAME}</p>
</td>
<td>
{goods_features.VALUE}
</td>
</tr>
{% ENDIF %}
{% ENDFOR %}
</table>

{% ENDIF %}
<!-- END Блок характеристик товара. Показываем его если указаны характеристики -->

Как итог получаем:
characters.jpg

#3 Andrew S.

Andrew S.

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 12 Апрель 2014 - 13:37

Просмотр сообщенияVaccina (12 Апрель 2014 - 04:31) писал:

Как вариант можно группировать характеристики через условия.
Пример стандартного кода:
<!-- Блок характеристик товара. Показываем его если указаны характеристики -->
{% IFNOT goods_features_empty %}
<h3 style="padding-top:1em;">Характеристики {GOODS_NAME}</h3>
<table class="goodsDataFeatures">
	 <tr>
	 {% FOR goods_features%}
		 <td>
		 <p>{goods_features.NAME}</p>
		 </td>
		 <td>
		 {goods_features.VALUE}
		 </td>
		 {goods_features.index | is_divided("2","</tr><tr>","")}
	 {% ENDFOR %}
	 </tr>
</table>
{% ENDIF %}
<!-- END Блок характеристик товара. Показываем его если указаны характеристики -->

Пример измененного кода, где сгруппированы характеристики с именем "Аккумулятор":
<!-- Блок характеристик товара. Показываем его если указаны характеристики -->
{% IFNOT goods_features_empty %}
<h3 style="padding-top:1em;">Характеристики {GOODS_NAME}</h3>

<table class="goodsDataFeatures">
<tr>
<td>
<p>Аккумулятор</p>
</td>
<td>
{% FOR goods_features%}
{% IF goods_features.NAME=Аккумулятор %}
<span>{goods_features.VALUE}, </span>
{% ENDIF %}
{% ENDFOR %}
</td>
</tr>
</table>

<table class="goodsDataFeatures">
{% FOR goods_features%}{% IFNOT goods_features.NAME=Аккумулятор %}
<tr>
<td>
<p>{goods_features.NAME}</p>
</td>
<td>
{goods_features.VALUE}
</td>
</tr>
{% ENDIF %}
{% ENDFOR %}
</table>

{% ENDIF %}
<!-- END Блок характеристик товара. Показываем его если указаны характеристики -->

Как итог получаем:
Прикрепленный файл characters.jpg
Так это надо вручную вводить наименования характеристик? И что если так надо сделать не для одной характеристики, а для нескольких? Я так понял это решение только для одной характеристики, условие, что если не Аккумулятор, то... А у меня много таких наименований..

#4 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 15 Апрель 2014 - 03:54

для автоматической группировки более ничего не поделать, писать заявку в предложения по улучшению и ожидать.

Вариант с несколькими характеристиками:
{% IFNOT goods_features_empty %}
<h3 style="padding-top:1em;">Характеристики {GOODS_NAME}</h3>
<table class="goodsDataFeatures">
<tr>
<td>
<p>Аккумулятор</p>
</td>
<td>
{% FOR goods_features%}
{% IF goods_features.NAME=Аккумулятор %}
<span>{goods_features.VALUE}, </span>
{% ENDIF %}
{% ENDFOR %}
</td>
</tr>
<tr>
<td>
<p>Мощность</p>
</td>
<td>
{% FOR goods_features%}
{% IF goods_features.NAME=Мощность %}
<span>{goods_features.VALUE}, </span>
{% ENDIF %}
{% ENDFOR %}
</td>
</tr>
</table>
<table class="goodsDataFeatures">
{% FOR goods_features%}{% IF goods_features.NAME!=Аккумулятор && goods_features.NAME!=Мощность %}
<tr>
<td>
<p>{goods_features.NAME}</p>
</td>
<td>
{goods_features.VALUE}
</td>
</tr>
{% ENDIF %}
{% ENDFOR %}
</table>
{% ENDIF %}
<!-- END Блок характеристик товара. Показываем его если указаны характеристики -->


#5 Andrew S.

Andrew S.

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 382 сообщений
  • ГородKhabarovsk

Отправлено 15 Апрель 2014 - 11:50

Просмотр сообщенияVaccina (15 Апрель 2014 - 03:54) писал:

для автоматической группировки более ничего не поделать, писать заявку в предложения по улучшению и ожидать.

Вариант с несколькими характеристиками:
{% IFNOT goods_features_empty %}
<h3 style="padding-top:1em;">Характеристики {GOODS_NAME}</h3>
<table class="goodsDataFeatures">
<tr>
<td>
<p>Аккумулятор</p>
</td>
<td>
{% FOR goods_features%}
{% IF goods_features.NAME=Аккумулятор %}
<span>{goods_features.VALUE}, </span>
{% ENDIF %}
{% ENDFOR %}
</td>
</tr>
<tr>
<td>
<p>Мощность</p>
</td>
<td>
{% FOR goods_features%}
{% IF goods_features.NAME=Мощность %}
<span>{goods_features.VALUE}, </span>
{% ENDIF %}
{% ENDFOR %}
</td>
</tr>
</table>
<table class="goodsDataFeatures">
{% FOR goods_features%}{% IF goods_features.NAME!=Аккумулятор && goods_features.NAME!=Мощность %}
<tr>
<td>
<p>{goods_features.NAME}</p>
</td>
<td>
{goods_features.VALUE}
</td>
</tr>
{% ENDIF %}
{% ENDFOR %}
</table>
{% ENDIF %}
<!-- END Блок характеристик товара. Показываем его если указаны характеристики -->
Я сохраню старый код. И попробую использовать этот. Нужно будет понять его логику, чтобы добавлять еще характеристики. И если можно, запишите эту заявку. Это всем будет полезно, всем магазинам.

Логика, которую я Вам предлагаю использовать - похожа на меню выдачи свойств в модификациях, которые группируются, не смотря на то, что модификации разные (свойства одинаковые). Только там отображается каждый раз только одно значение свойства, а тут они бы перечислялись, плюс чтобы учитывались фильтром (чтобы фильтр вдруг о них не забыл и выдавал также как сейчас).
Characteristics.png

Теперь Вы поняли о чем я? Это как, грубо говоря, доработка вывода на экран характеристик, наверное в связи с появлением фильтров по товаром. Возможно даже из-за фильтров необходима эта доработка. Сами понимаете, что смотрится некрасиво - масло масляное.

Плюс если много значений характеристик - как-то это все по алфавиту продумать и чтобы пространство не занимало некрасиво, чтобы они как-то группировались, что-то вроде этого:
Характеристики несв.png - как сейчас
Характеристики св.png - как если бы сделать что-то такое..

Если это делать, то значения придется выравнивать не по левому краю, а по правом. Так, наверное будет даже лучше, т.к. в этом случае даже сейчас пустые поля светятся:
Пуст пол.png

Вот.. Пока идеи кончились тут..




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных