Уведомление с трек номером СДЕК или Boxberry от Syrnik

Здравствуйте! Пожалуйста подскажите, как оформить уведомление при отправке заказа. Точнее конструкцию сообщения. Есть два плагина - СДЭК и Boxberry(axiomus).

Если покупатель выбрал boxberry доставку, мы отправили заказ и вписали трек номер допустим YXO14411111, то покупателю отправляется уведомление -

Ваш заказ {$order.id} отправлен! Для отслеживания перейдите по ссылке - http://boxberry.ru/tracking/?id=YXO14411111

Если сдек, соотвественно отправляется следующее сообщение:

Ваш заказ {$order.id} отправлен! Для отслеживания перейдите по ссылке - http://cdek.ru/track.html?order_id=1111111111

Если заказ отправлен без трек номера, отправляем сообщение -

 Ваш заказ {$order.id} отправлен!

сейчас отправляется такая смс(без ссылки на курьерскую службу) - 

Ваш заказ {$order.id} отправлен!{if !empty($action_data.params.tracking_number)} Номер отслеживания: {$action_data.params.tracking_number|escape}{/if}

2 ответа

  • 2
    Дмитрий 9 апреля 2019 17:05 #

    Так в плагинах есть стандартный вывод для email сообщений.

    Для BoxBerry:

    {if !empty($order.params.shipping_plugin) && ($order.params.shipping_plugin == 'axibxb') && !empty($order.params.shipping_rate_id) && !empty($shipping_plugin)}
        {$point = $shipping_plugin->getPointInfo($order.params.shipping_rate_id)}
        {if !empty($point) && !empty($point.code)}
            <p>Пункт выдачи <b>{$point.name|escape}</b>:<br>
            Адрес: <i>{$point.address|escape}</i><br>
            {if !empty($point.schedule)}Время работы: <i>{$point.schedule|escape}</i><br>{/if}
            {if !empty($point.phone)}Телефон: <i>{$point.phone|escape}</i><br>{/if}
            {if !empty($point.trip_description)}Как добраться: <i>{$point.trip_description|escape}</i><br>{/if}
            </p>
        {/if}
    {/if}

    Для СДЭК

    {if !empty($order.params.shipping_plugin) && ($order.params.shipping_plugin == 'sydsek') && !empty($order.params.shipping_rate_id) && !empty($shipping_plugin)}
        {$point = $shipping_plugin->getPointInfo($order.params.shipping_rate_id)}
        {if !empty($point) && !empty($point.code)}
            <p>Пункт выдачи <b>{$point.name|escape}</b>:<br>
            Адрес: {$point.city}, {$point.address|escape}<br>
            {if !empty($point.work_time)}Время работы: {$point.work_time|escape}<br>{/if}
            {if !empty($point.phone)}Телефон: {$point.phone|escape}{/if}
            {if !empty($point.note)}Примечание: {$point.note|escape}{/if}
            </p>
        {/if}
    {/if}

    Правильно я написал логику?

    Ваш заказ {$order.id} отправлен!{if !empty($order.params.shipping_plugin) && ($order.params.shipping_plugin == 'sydsek') && !empty($order.params.shipping_rate_id) && !empty($shipping_plugin)}{if !empty($action_data.params.tracking_number)} Номер отслеживания: http://cdek.ru/track.html?order_id={$action_data.params.tracking_number|escape}{/if}{/if} {if !empty($order.params.shipping_plugin) && ($order.params.shipping_plugin == 'axibxb') && !empty($order.params.shipping_rate_id) && !empty($shipping_plugin)}{if !empty($action_data.params.tracking_number)} Номер отслеживания: http://boxberry.ru/tracking/?id={$action_data.params.tracking_number|escape}{/if}{/if}

  • 1

    Нужно добавить в шаблон еще немного логики, например, если в треке есть буковки, то это Боксберри, иначе СДЭК.

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

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