Заголовок группы характеристик только если есть характеристики

7

Уважаемые разработчики Shop-Script, уже несколько раз писал про это.

Сделайте пожалуйста так, чтобы настройках приложения "Магазин" в разделе "Типы и характеристики товаров" у "Заголовка группы характеристик" было такое правило: если под этим заголовком нет ни одной "Характеристики" то не показывать его на витрине в карточке товара.

Например в категории у меня есть "Проекторы", а есть "Телевизоры".

У проекторов нет экрана, а у телевизоров есть экран.

Если я создаю Заголовок группы характеристик  - "Экран", то он будет показывается везде в этом типе товаров. В товарах "телевизор" есть экран и это приемлемо, а зачем он показывается в товарах "проектор"? 

К этих товаров разные технические характеристики поэтому разные заголовки группы характеристик, но сейчас даже если у товара в каких-то заголовках нет характеристик они выводятся.

13 комментариев

  • +2
    replicant replicant 17 сентября 2021 22:57 #

    Пара косметических правок в 1-2 строки в теме дизайна и нет больше пустых заголовков.

    Проблема этих самых заголовков групп в том, что они по сути точно такие же характеристики, но с типом divider и какого-то особого статуса не имеют и как-то надо в процессе разборки массива отслеживать каждую и смотреть что там за ней идет на следующей итерации. В цикле разбора массива в том виде как он есть особо не за что зацепиться. Проще на JavaScript набросать пару строк и попрятать ненужное.

    Код примера немного упрощен и вместо скрытия для наглядности цветовая разметка

    {foreach $product.features as $f_code => $f_value}
        {if $features[$f_code].type == 'divider'}
        <div class="divider">{$features[$f_code].name|escape}</div>
        {else}
        <span class="mr10">
            {$features[$f_code].name|escape}
        </span>
        <span>
            {if is_array($f_value)}
                {if $features[$f_code].type == 'color'}
                    {implode('<br /> ', $f_value)}
                {else}
                    {implode(', ', $f_value)}
                {/if}
            {else}
                {$f_value}
            {/if}
        </span><br>
        {/if}
    {/foreach}
    <div class="end"></div>
    <script>
        $('.divider').prev('.divider').css( "color", "red" );
        $('.end').prev('.divider').css( "color", "blue" );
    </script>
    {/if}

    Результат в виде 2 вариантов группировки на скриншоте. Группы хар-к имеют номера 1-5, а красные и синие - это группы хар-к, подлежащие скрытию, т.е. пустые и конечная, если она тоже пустая.

  • +1
    Shop-Script Fan Shop-Script Fan 18 сентября 2021 11:44 #

    Посмотрел этот код. Для меня это не проще, разработчик темы не согласиться в его теме такое реализовать. Сам я скорее всего не справлюсь. Проще - это под каждый товар делать отдельный тип товаров. Но это будет количество типов товара по количеству товара. Это тоже маразм. В этом весь Shop-Script, вроде как уже замутили Заголовки групп характеристик, но все равно сделано бестолково, словно программисты не пробовали на тестовом магазине моделировать разные типы товаров. Поражает, что я не вижу чтобы народ возмущался, видимо только я пытаюсь сделать как в нормальных магазинах эти Характеристики.

  • +1

    разработчик темы не согласиться в его теме такое реализовать

    Почему вы так решили?

    • +1
      Shop-Script Fan Shop-Script Fan 18 сентября 2021 14:59 #

      Потому, что такие правки не входят в поддержку темы оформления, эта долбанная опция должна как-то быть организована самим Webasyst, чтобы и разработчики внедряли это в свои темы. А еще я хотел вынести как "Ошибка" тот факт что в разделе "Типы и характеристики товаров" не работает поиск ни по характеристикам не по заголовкам характеристик поэтому приходиться смотреть на ID характеристики, если там у ID добавляться цифра 1 то такая характеристика есть и надо пробежаться по всем типам и через поиск в браузере найти её чтобы не было долбанных дублей. Если Webasyst даже это не может запилить, то как просить не выводить заголовки характеристик если таковых характеристик под этим заголовком у товара нет.

      • +2

        Потому, что такие правки не входят в поддержку темы оформления

        Ну если вы напишите разработчику не в стиле вселенского недовольства, как пишете обо всем в данном топике, а предложите включить это в штатную поставку темы, аргументировав это не самой удачной архитектурой характеристик в Shop-Script, то вероятность что это появится в вашей (и не только) теме дизайна достаточно высока, на мой взгляд. Но дело хозяйское... =)

        • +1
          Shop-Script Fan Shop-Script Fan 18 сентября 2021 17:25 #

          Вы правы. Я попросил разработчика, он прислал правки в шаблонах и выкатит в свежем обновлении. Лучший разработчик для Shop-Script в маркете :) Просто итак его часто дергаю не хотел отвлекать. Так что понятно теперь что если что нужно в теме оформления чтобы было предусмотрено.

        • +2
          replicant replicant 18 сентября 2021 15:54 #

          Честно говоря, добавить такую возможность в тему стоило бы, если совсем без этого тяжко. Фишка часто требуется там, где у товара много характеристик, группированных по разделам, которых тоже много и редко они на 100% все бывают заполнены. У этого кода от кода вашей темы дизайна принципиальных отличий на 3 строки с хвостиком.

          Легче за пару минут решить это на своем проекте в конкретном шаблоне темы дизайна, чем надеяться на то, что в WA заменят формальные группы по разделителям на действительную группировку характеристик в какие-то блоки и объявят о новой возможности для разработчиков или как-то перестроят логику формирования передаваемого массива характеристик, чтобы сохранить совместимость с кодом всех тем дизайна.


          • +1
            Shop-Script Fan Shop-Script Fan 18 сентября 2021 17:26 #

            Да и вам спасибо. Решилось через правку в теме оформления, просто я удивлен что таких запросов мало или нет. Запаришься под каждый товар клепать индивидуальный "тип товара". Спасибо и вам за подсказку.

            • +1
              Vaslav24 Vaslav24 18 сентября 2021 19:07 #

              Почему-то очень часто людям кажется, что то, что нужно им, нужно и всем остальным. Это не так. В теме интернет-магазинов в том числе. Я вот, например, даже не знал что у характеристик сейчас штатно можно создавать группы. Это потому, что у моих товаров очень мало характеристик в принципе. Но дело-то не в этом... Shop-Script даёт возможность сделать так, как надо практически всегда! И хорошо, что всё-всё-всё не запихано в движок. Это был бы неповоротливый монстр, требующий невероятное количество ресурсов на разработку, поддержку и т.п. Индивидуальные доработки нужны любому интернет-магазину! А тут, получается очень многие обходятся вообще без них! Вы в данном случае тоже обошлись без индивидуальных доработок - получили результат в шаблоне темы! Это же просто колоссальная заслуга Webasyst, что на их движке можно сделать классный магазин и при этом обходиться без программистов вообще! Да где вообще такое возможно?! В очередной раз убеждаюсь, что данный движок лучший с точки зрения именно использования бизнесом. (но это не отменяет необходимость делать его ещё лучше).

              • +2
                replicant replicant 18 сентября 2021 19:26 #

                О группах речь не идет. Это формальные группы, которые группами в строгом понимании не являются т.к. нет никакого общего признака/свойства у составляющих эту "группу" хар-к. Лишь компоновка последовательности вывода данных и всё. Возможность создавать такие разделители была ещё в каком-то лохматом году в самых ранних версиях. Просто их переименовали и вынесли опцию "Заголовок группы хар-к", чтобы не задавали вопросов для чего этот разделитель и с чем его едят. Но от переименования функциональность-то не изменилась. :)

              • +1
                Shop-Script Fan Shop-Script Fan 18 сентября 2021 22:56 #

                У вас мало характеристик, а у меня много. Но тут уже даже не в этом дело. Shop-Script выходит на новый уровень, появился плагин позволяющий создать на базе приложения "Магазин" маркетплейс, а это уже 100% наличие товаров с большим количеством характеристик и соответственно заголовков для них. Просто эта опция как правило организована в большинстве магазинов но наверняка тоже как-то кривовато, но есть. И если чуть допилить тему то получается очень хорошо.

              • +1

                Упс...  А это ж "Идея", а не "Вопрос"...   Идея правильная, надо поддержать =)

                Добавить комментарий

                Чтобы добавить комментарий, зарегистрируйтесь или войдите