Переменная отслеживания заказа

А версия у вас какая?

4.10.4… вроде бы((

Посмотрел код, там система пробегается по всем отгрузкам и отображает их коды отслеживания

Т.е. ничего не сделать?(

Вы используете больше одной отгрузки на заказ?

У меня нормально отправляется трек-номер и СДЭКа и почты. Посмотрю, какая там переменная :slight_smile:

Я вообще отгрузки не использую! Клиент создает заказ, я его перевожу в статус “передан в сдек” и клиенту приходит просто уведомление что его заказ передан в сдек, а я потом отдельным письмом посылаю ему трек номер!

Буду крайне признателен! Было бы очень удобно, если бы можно было бы вводить номер и клиенту он автоматом уходил при смене статуса!

Погодите, вы картинку выложили. Это же часть письма, которе отсылается при смене заказа и там есть код. Я правильно понимаю

Абсолютно верно! Но, т.к. в начале идет текст письма, а ниже весь заказ, где в правом нижнем углу и есть этот код! Специализация нашего ИМ такая, что у нас клиенты зачастую люди пожилого возраста или… ну как бы люди, которые не всегда будут листать вниз письма и где-то там находить какой-то код! А многие просто не понимают что это и где искать! Нужно, чтобы этот код был в тексте письма в самом начале! На самом видном месте!))) Большими жирными буквами!))))))

Вы посмотрели - в массиве $order_info есть нужные вам коды?

У меня в шаблоне письма за отправку трек-номера отвечает вот такой блок:

{if $order_info.shipping}
<tr valign="top">
   <td style="font-size: 12px;  font-family: verdana, helvetica, arial, sans-serif;  color: #000000; padding-right: 10px; white-space: nowrap;">{__("shipping_method")}:</td>
   <td style="font-size: 12px;  font-family: verdana, helvetica, arial, sans-serif;">
      {foreach from=$order_info.shipping item="shipping" name="f_shipp"}
          {$shipping.shipping}{if !$smarty.foreach.f_shipp.last}, {/if}
          {if $shipments[$shipping.group_key].tracking_number}{assign var="tracking_number_exists" value="Y"}{/if}
      {/foreach}
   </td>
</tr>
{if $tracking_number_exists && !$use_shipments}
<tr valign="top">
   <td style="font-size: 20px;  font-family: verdana, helvetica, arial, sans-serif; color: #000000; padding-right: 10px; white-space: nowrap;">{__("tracking_number")}:</td>
   <td style="font-size: 20px;  font-family: verdana, helvetica, arial, sans-serif;">
      {foreach from=$order_info.shipping item="shipping" name="f_shipp"}
          {if $shipments[$shipping.group_key].tracking_number}{$shipments[$shipping.group_key].tracking_number}{if !$smarty.foreach.f_shipp.last},{/if}{/if}
      {/foreach}
   </td>
</tr>
{/if}

Разберётесь?

1 лайк

ээээ, постараюсь! Т.е. мне нужно найти здесь переменную, которая подставляет трек номер?

Простите, но я честно говоря не понял, как это сделать!(((

{print_r($order_info)}
в шаблон уведомления нужно вставить или в шаблон заказа? а что дальше?

Если вы пользуетесь старыми шаблонами писем - то в любое место

{$order_info|fn_print_r}

затем посмотрите что отображается в письме

Этот блок у меня находится в шаблоне счета. У меня шаблон свой, сделан оверрайд, лежит тут:

design/themes/responsive/mail/templates/addons/[мои изменения]/overrides/orders/invoice.tpl

Это шаблон бланка заказа. Если в письме есть подключение бланка заказа, то покупатель получает письмо с такой шапкой:

Screenshot_182

invoice.zip (4,1 КБ)

В версии 4.10.х использовался такой код

{capture name="tracking_numbers_content"}
                        {foreach from=$shipments item="shipment"}
                            {if $shipment.tracking_number}
                                {if $shipment.carrier_info}
                                    <div>{__("carrier")}: {$shipment.carrier_info.name nofilter}
                                        {if $shipment.tracking_number} ({__("tracking_number")}:
                                            {if $shipment.carrier_info.tracking_url}<a target="_blank" href="{$shipment.carrier_info.tracking_url nofilter}">{/if}{$shipment.tracking_number}{if $shipment.carrier_info.tracking_url}</a>{/if})
                                        {/if}
                                    </div>
                                    {$shipment.carrier_info.info nofilter}
                                {else}
                                    <div>{$shipment.tracking_number}</div>
                                {/if}
                                <br/ >
                            {/if}
                        {/foreach}
                    {/capture}

                    {if $smarty.capture.tracking_numbers_content}
                        <tr valign="top">
                            <td style="font-size: 12px; font-family: verdana, helvetica, arial, sans-serif; text-transform: uppercase; color: #000000; padding-right: 10px; white-space: nowrap;">{__("tracking_number")}:</td>
                            <td style="font-size: 12px; font-family: Arial;">{$smarty.capture.tracking_numbers_content nofilter}</td>
                        </tr>
                    {/if}

В письме отображается почему-то не код самого шаблона уведомления, а код страницы оформления заказа!

Да, но что именно подставляет номер отправления? {$shipment.tracking_number} ? Вставляю в шаблон и ничего не приходит!(
Если вставляю {__(“tracking_number”)} - то выводится текст “Номер отправления”

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

1 лайк