Подключение блока на страницу товара Есть решение

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

7 ответов

  • 0
    replicant 30 октября 2018 11:32 #

    Для начала хотелось бы увидеть пример реализации этого калькулятора в виде js+css+html в одном блоке, готовом к работе на любой сторонней web-странице.

    Затем неплохо было бы знать какая у вас тема дизайна (покупная, своя на базе дефолтной или индивидуальная разработка).

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

    После этого уже можно немного точнее сказать что именно надо вам делать.

  • 1
    Лидия Лидия 30 октября 2018 11:53 #

    1. Пример калькулятора:

    <div class="uCalc_149153"></div> <script>    var widgetOptions149153 = {        bg_color: "transparent"    };    (function() {        var a = document.createElement("script"), h = "head";        a.async = true;        a.src = (document.location.protocol == "https:" ? "https:" : "http:") + "//ucalc.pro/api/widget.js?id=149153&t="+Math.floor(new Date()/18e5);        document.getElementsByTagName(h)[0].appendChild(a)    })(); </script> 

    2. Тема покупная

    3. Магазин отделочных материалов. К категории "ламинат" должен подключаться калькулятор расчёта ламината, к категории "краски" - калькулятор расчёта краски и т.д....


    
    
  • 0
    replicant 30 октября 2018 12:21 #

    Думаю в вашем случае нужно просто отдать задачу на стороннюю доработку специалистам. Так меньше времени будет потрачено. Тут на форуме есть люди и веб-студии, которые этим специально занимаются. Дело там несложное, если не 100500 типов калькуляторов и категорий товаров.

  • 3
    DES Партнер-разработчик 31 октября 2018 02:36 # Решение

    Создать новый блок с калькулятором в разделе "Сайт -> Блоки -> Новый блок". В качестве идентификатора использовать любое уникальное слов на латинице. Например, "calculator_1".

    В шаблоне темы дизайна вставить в нужное место данный блок:

    {$wa->block("calculator_1")}

    Если блок выводится на странице товара и нужно показывать конкретный блок для конкретной категории товара, то можно сделать фильтр по идентификатору категории. Например, так:

    {if $product.category_id == xxxx}
        {$wa->block("calculator_1")}
    {elseif $product.category_id == xxxx}
        {$wa->block("calculator_2")}
    .....
    {/if}

    Если нужно сделать что-то более сложное в плане логики, тогда потребуется индивидуальная разработка. Обращайтесь...

    • +1
      Лидия Лидия Лидия Лидия 31 октября 2018 09:38 #

      Большое спасибо! Это то, что нужно!

    • +1
      Лидия Лидия Лидия Лидия 11 ноября 2018 20:04 #

      Этот код работает только для главной категории товара, если зайти со страницы подкатегории то калькулятор не отображается, можно ли указать отображение в главной и всех подкатегориях?

      • +1
        replicant replicant 11 ноября 2018 22:50 #

        Чтобы получить все ID категорий, в которые добавлен товар, надо выполнить вот такой код.

        {if $product.categories}
         {foreach $product.categories as $c}
        {$c.id}
         {/foreach}
        {/if}

        Все эти $c.id надо использовать в запросах на проверку типа калькулятора.

        Потому что $product.category_id - это только основная категория товара, указанная в таблице shop_product, а полностью все категории для конкретного продукта лежат в таблице shop_category_products и именно оттуда их надо брать.

Добавить ответ

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