Структура Характеристик В Соответствии С Категориями Товаров

Всем привет.

Мы торгуем электроникой в Бишкеке, Киргизия. Совсем недавно начали осваивать интернет торговлю. При выборе CMS решили остановить свой выбор именно на CS-CART. Потихоньку осваиваем функциональность и в данный момент застряли на характеристиках товаров.

Скорее всего с подобной проблемой много кто сталкивался и я (кстати, меня зовут Дима), пытался найти ее решение в уже созданных темах и постах, но поиск не увенчался успехом. К сожалению. Может кто-нибуть "ткнет носом", так сказать, или подскажет в каком направлении копать.

Опишу подробнее каким образом мы заполняем сайт характеристиками товара:

Создается таблица с подробными характеристиками по каждому товару в отдельности. Естественно такие таблицы заполняются Категориями: Телевизоры, Аудио Техника, Фотоаппараты и т.д. У каждой Категории есть свой набор и порядок характеристик. Есть уникальные (т.е. присущие только Телевизорам, например, "Система улучшения показа движения") и повторяющиеся (такие как "Бренд" или "Модель").

Характеристики, внутри каждой из Категорий, в свою очередь объединены в Группы.

Вот пример Характеристик по Группам в Категории "Телевизоры":

  • ОБЩАЯ ИНФОРМАЦИЯ
    • Бренд
    • Модель
    • Страна производитель
    • Гарантия
    • Модельный ряд
  • ЭКРАН
    • Тип дисплея
    • Технология светодиодной подстветки
    • Диагональ экрана
    • Разрешение экрана
    • Угол обзора (Вправо/Влево)
    • Угол обзора (Вверх/Вниз)
    • Частота обновления экрана
    • Изогнутый экран
    • Кривизна экрана (радиус)
  • ИЗОБРАЖЕНИЕ
  • ЗВУК
  • ТЕЛЕВЕЩАНИЕ
  • ПОДКЛЮЧЕНИЯ / РАЗЪЕМЫ
  • и т.д....
Группы, по аналогии с характеристиками, могут быть уникальными или повторяющимися.
После составления Таблицы Характеристик, она перегоняется в формат CSV с соответствующим синтаксисом и загружается на сайт через импорт.
Суть проблемы в том, что организованная система сбора информации подразумевает структуру:
  1. Категория
    1. Группа
      1. Характеристика

А система, реализованная в CS-CART:

  1. Группа
    1. Характеристика

И лишь дает возможность отражать/не отражать в Категориях отдельные Группы.

Отсюда возник вопрос: есть ли возможность сделать привязку каждой отдельной Характеристики к Категории товаров?

Очевидно, что в Категориях будут повторяющиеся Группы и Характеристики. Но если каждая отдельная характеристика или группа будет привязана к своей Категории, то путаницы возникнуть не должно, тем более, что у каждой Характеристики свой ID.

Спасибо заранее за ответы.

Всем привет.

Мы торгуем электроникой в Бишкеке, Киргизия. Совсем недавно начали осваивать интернет торговлю. При выборе CMS решили остановить свой выбор именно на CS-CART. Потихоньку осваиваем функциональность и в данный момент застряли на характеристиках товаров.

Скорее всего с подобной проблемой много кто сталкивался и я (кстати, меня зовут Дима), пытался найти ее решение в уже созданных темах и постах, но поиск не увенчался успехом. К сожалению. Может кто-нибуть "ткнет носом", так сказать, или подскажет в каком направлении копать.

Опишу подробнее каким образом мы заполняем сайт характеристиками товара:

Создается таблица с подробными характеристиками по каждому товару в отдельности. Естественно такие таблицы заполняются Категориями: Телевизоры, Аудио Техника, Фотоаппараты и т.д. У каждой Категории есть свой набор и порядок характеристик. Есть уникальные (т.е. присущие только Телевизорам, например, "Система улучшения показа движения") и повторяющиеся (такие как "Бренд" или "Модель").

Характеристики, внутри каждой из Категорий, в свою очередь объединены в Группы.

Вот пример Характеристик по Группам в Категории "Телевизоры":

  • ОБЩАЯ ИНФОРМАЦИЯ
    • Бренд
    • Модель
    • Страна производитель
    • Гарантия
    • Модельный ряд
  • ЭКРАН
    • Тип дисплея
    • Технология светодиодной подстветки
    • Диагональ экрана
    • Разрешение экрана
    • Угол обзора (Вправо/Влево)
    • Угол обзора (Вверх/Вниз)
    • Частота обновления экрана
    • Изогнутый экран
    • Кривизна экрана (радиус)
  • ИЗОБРАЖЕНИЕ
  • ЗВУК
  • ТЕЛЕВЕЩАНИЕ
  • ПОДКЛЮЧЕНИЯ / РАЗЪЕМЫ
  • и т.д....
Группы, по аналогии с характеристиками, могут быть уникальными или повторяющимися.
После составления Таблицы Характеристик, она перегоняется в формат CSV с соответствующим синтаксисом и загружается на сайт через импорт.
Суть проблемы в том, что организованная система сбора информации подразумевает структуру:
  1. Категория
    1. Группа
      1. Характеристика

А система, реализованная в CS-CART:

  1. Группа
    1. Характеристика

И лишь дает возможность отражать/не отражать в Категориях отдельные Группы.

Отсюда возник вопрос: есть ли возможность сделать привязку каждой отдельной Характеристики к Категории товаров?

Очевидно, что в Категориях будут повторяющиеся Группы и Характеристики. Но если каждая отдельная характеристика или группа будет привязана к своей Категории, то путаницы возникнуть не должно, тем более, что у каждой Характеристики свой ID.

Спасибо заранее за ответы.

Вы можете отображать не только группы, но и отдельные характеристики для определенной категории.

Вы можете отображать не только группы, но и отдельные характеристики для определенной категории.

Ок, спасибо. Почему-то сразу стал делать характеристики в группах и не заметил очевидного.

Но вопрос по-прежнему остается и сводится к более конкретным аспектам:

Каким образом Характеристику можно привязать к Категории, если она в Группе?

Прилагаю скриншоты с пояснениями:

1. Характеристики в админке:

2. Характеристики на сайте:

Ок, спасибо. Почему-то сразу стал делать характеристики в группах и не заметил очевидного.

Но вопрос по-прежнему остается и сводится к более конкретным аспектам:

Каким образом Характеристику можно привязать к Категории, если она в Группе?

Прилагаю скриншоты с пояснениями:

1. Характеристики в админке:

2. Характеристики на сайте:

Если характеристика находится в группе, то категорию можно назначить только группе. Немного нелогично назначить группе одну категорию, а входящим в нее характеристикам - другую.

Можно создать несколько похожих групп и привязать их к разным категориям.

Если характеристика находится в группе, то категорию можно назначить только группе. Немного нелогично назначить группе одну категорию, а входящим в нее характеристикам - другую.

В том то и проблема: Группе, как таковой, привязка к категории вообще не обязательна. Было бы здорово, если бы Группа к категории не привязывалась, а Характеристики раскидывались по категориям каждая индивидуально. Т.е. Группы просто выполняли бы функцию "Группировки" (уж простите за такое выражение), и не включали в себя функционал Характеристик, лишая тем самым "мобильности". Возможно я рассуждаю слишком узко только в рамках своей ситуации и подобный подход реализован на основании многолетнего опыта. Так ли?

Ок, понятно, что придется выдумывать способы обхода данного ограничения, например:

Можно создать несколько похожих групп и привязать их к разным категориям.

Спасибо за совет, я попробую и если выйдет что-то путное, то обязательно отпишусь.

Не думаю, что я первый, кто задался этим вопросом. Уверен, что многие решали данную проблему тем или иным способом. Было бы здорово, если бы мы все поделились друг с другом опытом. Возможно тема дальнейшего обсуждения выходит за рамки платформы CS-CART и больше относится к вопросам организации и представления информации. Однако предлагаю продолжить обсуждение именно здесь.

Итак вопрос:

А как Вы организовали структуру и представление Характеристик в своем магазине?

Итак, продолжаю бороться с характеристиками товаров...

Можно создать несколько похожих групп и привязать их к разным категориям.

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

Подскажите, пожалуйста, в каком порядке обрабатываются данные поля при импорте через CSV:

Feature name
Feature ID
Feature code
Какое поле является приоритетным при импорте через CSV?
Возможно ли сделать какое-то поле основным, например, Feature code?

Feature ID является основным ключом при импорте характеристик. Feature code является необязательным полем. Для того, чтобы сделать его основным потребуется доработка кода

Постараюсь подробнее описать проблему с которой столкнулся.

1) Создаю необходимую структуру характеристик через админку (упрощенный пример, чтобы показать суть):

2) Экспортирую созданные характеристики в CSV:

3) Импортирую тот же самый CSV файл и получаю в админке следующую ситуацию:

Отсюда вопрос:

Каким образом можно импортировать характеристики через CSV чтобы вопсроизвести нужную структуру (см. изображение 1)?

Заранее благодарен за ответы и любую помощь в решении этой задачи.

p.s. Ребят, ну в самом деле кто как организует характеристики у себя в магазине? Может я вовсе не туда копаю? Не поверю, что один с такой задачей столкнулся. :confused: :-(

app/schemas/exim/features.functions.php

Попробуйте добавить следущий код:

if (!empty($feature['feature_code'])) {
    $condition .= db_quote(" AND feature_code = ?s", $feature['feature_code']);
}

после строчки

$condition .= db_quote(" AND parent_id = ?i", $parent_id);

К проверке характеристики по имени должна добавиться проверка на feature code

Спасибо за оперативный ответ.

Работает, но на половину. :-) Все характеристики добавляются в одну группу, а не по двум разным.

Есть ли еще мысли как доработать? :?

Попробуйте в том же файле заменить

$group_id = db_get_field('SELECT feature_id FROM ?:product_features_descriptions WHERE description = ?s AND lang_code = ?s', $group_name, $lang_code);

на

$group_id = db_get_field('SELECT feature_id FROM ?:product_features_descriptions WHERE description = ?s AND lang_code = ?s ORDER BY feature_id DESC', $group_name, $lang_code);

В этом случае последняя добавленная группа совпадающая по имени должна выбираться

Работает! Спасибо!

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

Добрый день!
Столкнулся с такой же проблемой. Прошу подсказать, как реализовать механизм привязки характеристик к группе. Т.е., не группу выбирать для каждой отдельной характеристике, а из списка характеристик выбрать характеристику соответствующей конкретной группе.
Проблема заключается в следующем: в одной группе есть ряд характеристик, которые по сути должны принадлежать к разным категориям.
Данный вопрос уже был задан, но ответ на него так и не был дан.
Неужели, кроме дубляжа групп и характеристик, нет никакой возможности это реализовать?

К сожалению, так сделать нельзя. Только дорабатывать механизм характеристик

Благодарю за ответ!
Выходит, что единственный путь - это назначить каждой характеристике определенные категории, но возникает следующий вопрос:
Как в карточке товара разделить между собой наборы характеристик?
Др.словами, разбить их на блоки, дав каждому блоку соответствующие название. К примеру: “Основные характеристики”, Технические характеристики", “Особенности” и пр. Сейчас это можно реализовать только названием групп, но как уже обсуждалось выше сталкиваемся с рядом проблем.

Боюсь, что никак

Подскажите , пожалуйста как создать характеристику с диапазоном. (есть начало и конец)
Для того в карточке товара было числовое отображение 2003-2015 годов. вместо 2003,2004,2005,2006 и тд?

Может просто поменять вывод характеристик на карточке товара?

design/themes/ТЕМА/templates/views/products/components/product_features_short_list.tpl

Any simple text field will do the trick. Простое текстовое поле, но там можно написать что угодно. Числовое поле не получится из за дефиса.