Подстановка переменных в ссылку

Добрый вечер.

Имеем следующее

<script type="text/javascript" src="https://www.site.ru/thanks.js?codes=ТОВАР1:ЦЕНА1,ТОВАР2:ЦЕНА2,ТОВАР3:ЦЕНА3&order_id=НОМЕР ЗАКАЗА&merchant_id=ВАШ_НОМЕР"></script>

Прошу помощи в указании правельных переменных.

ТОВАР - id артикула
ЦЕНА - цена артикула

Учитывая возможный вариант(ы)

Купили два товара с артикулом "товар1" и один товар с артикулом "товар2"

<script type="text/javascript" src="https://www.site.ru/thanks.js?codes=ТОВАР1:ЦЕНА1,ТОВАР1:ЦЕНА1,ТОВАР2:ЦЕНА2&order_id=НОМЕР ЗАКАЗА&merchant_id=ВАШ_НОМЕР"></script>

На пиво прилагается)

16 ответов

  • 1

    На какой странице сайта Вы хотите вывести этот код?

    • +1
      Непомнящий Непомнящий 11 октября 2015 17:33 #

      checkout.success.html (конечная страница успешно оформленого заказа)

      • +1

        как-то так.....

        <script type="text/javascript" src="https://www.site.ru/thanks.js?codes=
        {foreach $order.items as $item name=foo}
            {if $item.quantity > 1}
                {section name=tovar loop=$item.quantity}
                    {$item.id}:{$item.price}
                {/section}
            {else}
                {$item.id}:{$item.price}
            {/if}
            {if !$smarty.foreach.foo.last},{/if}
        {/foreach}
        &order_id={$order.id}&merchant_id=ВАШ_НОМЕР"></script>
          • +1
            Непомнящий Непомнящий 11 октября 2015 20:22 #

            Вот что получилось..

            <script type="text/javascript" src="https://www.site.ru/thanks.js?codes=
                                    35:11400.0000
                                35:11400.0000
                            ,                        36:12000.0000
                                36:12000.0000
                                36:12000.0000
                                36:12000.0000
                            &order_id=#10018&merchant_id=ВАШ_НОМЕР"></script>

            Было заказано:

            1 товар (с id наименования артикула 2770 -2 штуки) -цена 11400 за штуку.

            1 товар (с id наименования артикула 8 - 4 штуки) -цена 12000 за штуку.

            Должно получиться так:

            <script type="text/javascript" src="https://www.site.ru/thanks.js?codes=2770:11400,2770:11400,8:12000,8:12000,8:12000,8:12000&order_id=НОМЕР ЗАКАЗА&merchant_id=ВАШ_НОМЕР"></script>
            • +1

              Тут я попробую, но не уверен, что доступна $item.product_id

              {$ordered_items=[]}
              {foreach $order.items as $item}
                  {$ordered_items[] = $item.product_id|cat:':'|cat:intval($item.price)}
              {/foreach}
              <script type="text/javascript" src="https://www.site.ru/thanks.js?codes={implode(',', $ordered_items)}&order_id={$order.id}&merchant_id=ВАШ_НОМЕР"></script>
              • +1
                Непомнящий Непомнящий 11 октября 2015 21:05 #

                На другом заказе где 1 товар и 3 одинаковых нименования артикула:

                <script type="text/javascript" src="https://www.site.ru/thanks.js?codes=2002:26000&order_id=#10019&merchant_id=ВАШ_НОМЕР"></script>

                2002 это не то, у товара 4688.

                Я посмотрел в product.html там стоит {$sku.id}

        • +1

          item.id это id элемента заказа (или корзины), но не id товара.

  • 1
    Непомнящий 11 октября 2015 23:44 #

    Разобрался. Сергей Родовниченко, Спасибо! Отпишусь на почту, узнать куда на пиво слать ))))

    {$ordered_items=[]}
    {foreach $order.items as $item}
         {section name=tovar loop=$item.quantity}
            {$ordered_items[] = $item.sku_id|cat:':'|cat:intval($item.price)}
         {/section}
    {/foreach}
    <script type="text/javascript" src="https://www.site.ru/thanks.js?codes={implode(',', $ordered_items)}&order_id={$order.id}&merchant_id=12345678"></script>


    • +1
      Непомнящий Непомнящий 12 октября 2015 00:52 #

      Хех , ID получили, да не те что нужно)))

      Вообщем туда, куда это надо, требуется указывать ID товара как в файле выгрузки Я.Маркета.

      Как можно получить массив ID из выгрузки маркета?

      или можно как-то обыграть это на smarty?

      Мы можем получить из $order.items, ID товара и ID Наименование артикула.

      У меня товары выгружаются "артикул товара как отдельная позиция", тогда как написать следующее

      ---ОДИН товар---
      //Если артикул один
      {ID товара}
      //Если более одного артикула
      {ID товара}s{ID Наименование артикула} - как в выгрузке Я.Маркета
      • +1

        Объеденим усилия Сергея и мои

        {foreach $order.items as $item}
            {section name=tovar loop=$item.quantity}
                {if $item.quantity > 1}
                    {$ordered_items[] = $item.product_id|cat:'s'$item.sku_id|cat:':'|cat:intval($item.price)}
                {else}
                    {$ordered_items[] = $item.product_id|cat:':'|cat:intval($item.price)}
                {/if}
            {/section}
        {/foreach}
        <script type="text/javascript" src="https://www.site.ru/thanks.js?codes={implode(',', $ordered_items)}&order_id={$order.id}&merchant_id=ВАШ_НОМЕР"></script>
        • +1
          Непомнящий Непомнящий 12 октября 2015 04:51 #

          Нужна логика работы кода другая))

          //Офферы из выгрузки маркета.
          
          ----Товары с ОДНИМ Наименованием АРТИКУЛА---
          <offer available="true" id="1839">...</offer>
          <offer available="true" id="2497">...</offer>
          
          ---Товары БОЛЕЕ ОДНОГО Наименования артикула---
          
          <offer available="true" id="1839">...</offer> - 1 артикул по умолчанию (и надо так чтоб "S" не было)
          <offer available="true" id="1839s5647">...</offer> 
          <offer available="true" id="1839s5648">...</offer>
          <offer available="true" id="1839s5649">...</offer>

          В том варианте что имеем получается привязка идет не к количеству АРТИКУЛОВ у товара, а к количеству ТОВАРА в заказе.

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

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