Ярлыки и метки?

#
Ярлыки и метки?
Здравствуйте!
Вводная:
Создан интернет-магазин.
В группе магазина "Общая" лежат все товары (букеты).
Помимо нее, создана вот такая структура (группы магазина):

Цветы
    Розы
    Лилии
    Хризантемы
    ...
Цветовая гамма
    Красная
    Белая
    Розовая
    ...
и еще несколько групп с подгруппами
Один и тот же букет может принадлежать многим группам, например "Букет из роз и лилий" будет в группах "Розы", "Лилии", "Красная", "Белая"
На данный момент, я создаю букет в общей группе, а потом уже создаю ярлыки в остальных группах.
В каждой из групп необходимо сделать фильтр по цене... и тут я столкнулась буквально со стеной
Как выяснилось, ярлыки не фильтруются ни по каким свойствам.
Копировать непосредственно товар по группам очень неудобно, тем более как выяснилось фотографии загруженные для товара, в его копию не передаются. (а у нас фотографий у товара может быть несколько - за счет доп.свойств).
Появилась идея использовать метки. Т.е.  выделяется несколько ценовых диапазонов, создается группа меток "Ценовой диапазон" = ("любая", "до 1 000", "до 2 000" и т.д.) и каждому товару приписывается соответствующие...
НО: при переходе по метке - получаем ВЕСЬ список из общей группы
Нашлась тема http://www.hostcms.ru/forums/22/2732/
Теперь по метке не выводится вообще ничего Есть подозрение что ярлыки и по меткам тоже не фильтруются... Честно говоря я уже не знаю что делать... Возможность разнести товар по разным категориям была вообще одной из ключевых при выборе ЦМС. Мне очень нравится движок! И я верю что должна быть возможность реализовать такую схему.
Модератор
#
Re: Ярлыки и метки?
Аналогичный вопрос Вы задавали в соседней теме:

atena писал(а):
Копировать непосредственно товар по группам очень неудобно, тем более как выяснилось фотографии загруженные для товара, в его копию не передаются.

По этому вопросу можете написать в поддержку.

atena писал(а):
Как выяснилось, ярлыки не фильтруются ни по каким свойствам.

Все верно, о причине этого рассказывалось в теме http://www.hostcms.ru/forums/17/3293/

atena писал(а):
Теперь по метке не выводится вообще ничего Есть подозрение что ярлыки и по меткам тоже не фильтруются…

Конечно, ясно же сказано что имеет ярлык, а что нет. У ярлыка только свой порядок сортировки и своя группа + ссылка на основной товар. Все, больше ярлык ничего не имеет!
Модератор
#
Re: Ярлыки и метки?
atena писал(а):
Возможность разнести товар по разным категориям была вообще одной из ключевых при выборе ЦМС.

И эта возможность присутствует!

Вопрос фильтрации ярлыков открыт, возможно удастся сделать на уровне SQL-запросов, однако этот вопрос не решен на данный момент.
#
Re: Ярлыки и метки?
Да, я действительно спрашивала в соседней теме, но поскольку вопрос вышел за ее рамки, решила подвести некий итог в новой теме.
Спасибо большое за ответ
Буду очень ждать фильтрации ярлыков!
#
Re: Ярлыки и метки?
подскажите а как сделать чтобы ярлыки сортировались по названию? а то они находятся вверху списка %)
и в прайс-листе ярлыки дублируются в одном и том же разделе %) вместо того чтобы отображаться в разделе в который его создавали

и в общей группе кол-во указано 1, захожу в свойства товара-ярлыка - а там кол-во 0, присваиваю сортировка 10,20 и тд жму применить, выхожу в группу, а сортировка все равно 0. Это у меня только такой глюк или это такие ярлыки?
#
Re: Ярлыки и метки?
HostCMS писал(а):
Вопрос фильтрации ярлыков открыт, возможно удастся сделать на уровне SQL-запросов, однако этот вопрос не решен на данный момент.


Удалось сделать сортировку-фильтрацию ярлыков на уровне SQL-запросов?
#
Re: Ярлыки и метки?
Если кому-то требуется фильтрация и сортировка ярлыков, можно воспользоваться следующим решением.

Перед вызовом ShowShop вставляем следующий код:

if (!array_key_exists("sql_from", $param))
    {   $param['sql_from'] = "";   }
$param['sql_from'] .= 'LEFT JOIN shop_items_catalog_table AS t1 ON shop_items_catalog_table.shop_items_catalog_shortcut_id = t1.shop_items_catalog_item_id OR shop_items_catalog_table.shop_items_catalog_item_id = t1.shop_items_catalog_item_id';


После этого надо указать, что сортировка/фильтрация идет по полям таблицы t1.
1. Указываем поле для фильтрации по производителям.
Меняем
$element['name'] = 'shop_producers_list_id';

на
$element['name'] = 't1.shop_producers_list_id';


2. Указываем поле сортировки по наименованию
Меняем
$param['items_field_order'] = 'shop_items_catalog_name';

на
$param['items_field_order'] = 't1.shop_items_catalog_name';


3. Указываем поле сортировки по цене.
Меняем
         $query_currency_switch = 'shop_items_catalog_price';

         // Цикл по валютам магазина
         while ($currency_row = mysql_fetch_assoc($currency_result))
         {
            // Получаем коэффициент пересчета для каждой валюты
            $currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);

            $query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
         }

на
         $query_currency_switch = 't1.shop_items_catalog_price';

         // Цикл по валютам магазина
         while ($currency_row = mysql_fetch_assoc($currency_result))
         {
            // Получаем коэффициент пересчета для каждой валюты
            $currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);

            $query_currency_switch = "IF (t1.shop_currency_id = {$currency_row['shop_currency_id']}, t1.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
         }


При желании ещё можно поменять поле сортировки по оценке и поле фильтрации по продавцу.
Авторизация