как в ВА6 сделать чтобы в емайле (уведомлении о заказе) товар был с ссылкой на карточку товара на сайте?

собственно сабж

как в ВА6 сделать чтобы в емайле (уведомлении о заказе) товар был с ссылкой на карточку товара на сайте?

16 ответов

  • 1

    Попробуйте в шаблоне уведомления в цикле:

    {foreach $order.items as $item}

    добавить ссылку на товар:

    {if !empty($item.product.frontend_url)}<a href="{$item.product.frontend_url}">{$item.product.name}</a>{/if}

    *код может не работать, но идея вполне понятна

  • 1
    АР 10 декабря 2015 05:45 #

    Александр другие варианты кода есть?

  • 1
    fastcgi 10 декабря 2015 06:33 #

    exception 'SmartyCompilerException' with message 'Syntax Error in template "a1bc6206acbb5ce7e407fa33b2652dcd56dc8651" on line 33 "{/foreach}" unexpected closing tag' in /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatecompilerbase.php:667 Stack trace: #0 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_compilebase.php(170): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unexpected clos...', 33) #1 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_compile_foreach.php(224): Smarty_Internal_CompileBase->closeTag(Object(Smarty_Internal_SmartyTemplateCompiler), Array) #2 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatecompilerbase.php(485): Smarty_Internal_Compile_Foreachclose->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL) #3 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templatecompilerbase.php(259): Smarty_Internal_TemplateCompilerBase->callTagCompiler('foreachclose', Array, Array) #4 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templateparser.php(2493): Smarty_Internal_TemplateCompilerBase->compileTag('foreachclose', Array) #5 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r58() #6 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(58) #7 /var/www/tuning063.ru/wa-system/vendors/smarty3/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '\r\n doCompile('

  • 1
    fastcgi 10 декабря 2015 06:41 #

    временно сделал вот так

    {foreach $order.items as $item} <a href="{$item.product.frontend_url}">{$item.product.name}</a>

    не совсем верно но уже есть результат

    скрин http://joxi.ru/eAOllnLS44J5Vr

    как сделать по правильному?

    • +1

      Скорее всего вы не имели опыта работы с шаблонизатором smarty и допустили ошибку в коде, неверно скопировали строку и т.п..

      Этот вариант так же будет работать, но при отсутствии frontend_url буде писать ошибки в лог файл и отображать битую ссылку, поэтому предварительно была введена проверка.

      Еще раз проверьте правильно ли вы вставляете строку:

      {if !empty($item.product.frontend_url)}<a href="{$item.product.frontend_url}">{$item.product.name}</a>{/if}
  • 1
    fastcgi 12 декабря 2015 09:37 #

    даже проверку не отправляет на емайл

  • 1

    В свое время делал для человечка. Вот шаблон:

    <table style="border: 1px solid #ccc; width: 100%;">
        <thead style="background: #eee;">
            <tr>
                <th style="text-align: left; padding: 5px;">Информация о заказе</th>
                <th style="text-align: left; padding: 5px;">Информация о клиенте</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td style="padding: 5px; border-right: 1px solid #ccc;">
                    <b>№ Заказа:</b> {$order.id}<br/>
                    <b>Дата заказа:</b> {$order.create_datetime}<br/>
                    <b>Способ оплаты:</b> {if !empty($order.params.payment_name)} {$order.params.payment_name}{/if}<br/>
                    <b>Способ доставки:</b> {if !empty($order.params.shipping_name)} {$order.params.shipping_name}{/if}
                </td>
                <td style="padding: 5px;">
                    <b>ФИО:</b> {$customer->get("name", "html")}<br/>
                    <b>Адрес:</b> {$shipping_address}<br/>
                    {if !empty($customer.email)}
                        <b>Email:</b> {$customer->get("email", "default")|escape}<br/>
                    {/if}
                    {if !empty($customer.phone)}
                        <b>Телефон:</b> {$customer->get("phone", "default")|escape}
                    {/if}
                </td>
            </tr>
        </tbody>
    </table>
    <br/>
    <table style="border: 1px solid #ccc; width: 100%;">
        <thead style="background: #eee;">
            <tr>
                <th style="text-align: left; padding: 5px;">
                    Адрес доставки
                </th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td style="padding: 5px;">
                    {$customer->get("name", "html")}<br/>
                    {$shipping_address}
                </td>
            </tr>
        </tbody>
    </table>
    <br/>
    <table style="border: 1px solid #ccc; width: 100%;">
        <thead style="background: #eee;">
            <tr>
                <th style="text-align: left; padding: 5px;">
                    Комментарий к заказу
                </th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td style="padding: 5px;">
                    <pre>{$order.comment|escape}</pre>
                </td>
            </tr>
        </tbody>
    </table>
    <br/>
    <table style="border: 1px solid #ccc; width: 100%; border-collapse: collapse;">
        <thead style="background: #eee;">
            <tr>
                <th style="text-align: left; padding: 5px;">
                    Фото
                </th>
                <th style="text-align: left; padding: 5px;">
                    Артикул
                </th>
                <th style="text-align: left; padding: 5px;">
                    Наименование
                </th>
                <th style="text-align: left; padding: 5px;">
                    Количество
                </th>
                <th style="text-align: left; padding: 5px;">
                    Цена
                </th>
                <th style="text-align: left; padding: 5px;">
                    Итого:
                </th>
            </tr>
        </thead>
        <tbody>
            {$subtotal = 0}
            {foreach $order.items as $item}
                <tr>
                    <td style="border-bottom: 1px solid #ccc;">
                        <img src="{$item.product.image.thumb_url}" width="50px;"/>
                    </td>
                    <td style="border-bottom: 1px solid #ccc;">
                        {$item.sku_code|escape}
                    </td>
                    <td style="border-bottom: 1px solid #ccc;">
                        <a href="{$item.product.frontend_url}" target="_blank">{$item.name}</a>
                    </td>
                    <td style="border-bottom: 1px solid #ccc; text-align: center;">
                        {$item.quantity}
                    </td>
                    <td style="border-bottom: 1px solid #ccc;">
                        {shop_currency($item.product.price, $order.currency)}
                    </td>
                    <td style="border-bottom: 1px solid #ccc;">
                        {shop_currency($item.product.price*$item.quantity, $order.currency)}
                    </td>
                </tr>
                {$subtotal = $subtotal + $item.price * $item.quantity}    
            {/foreach}
            <tr>
                <td colspan="4"></td>
                <td>
                    <b>Сумма: </b>
                </td>
                <td>
                    {shop_currency($subtotal, $order.currency)}
                </td>
            </tr> 
            <tr>
                <td colspan="4"></td>
                <td>
                    <b>Скидка: </b>
                </td>
                <td>
                    {shop_currency($order.discount, $order.currency)}
                </td>
            </tr> 
            <tr>
                <td colspan="4"></td>
                <td>
                    <b>Доставка: </b>
                </td>
                <td>
                    {shop_currency($order.shipping, $order.currency)}
                </td>
            </tr>
            <tr>
                <td colspan="4"></td>
                <td>
                    <b>ИТОГО: </b>
                </td>
                <td>
                    {shop_currency($subtotal - $order.discount + $order.shipping, $order.currency)}
                </td>
            </tr> 
        </tbody>
    </table>
    <p>Просмотр информации о заказе: <a href="{$order_url}" target="_blank"><strong>{$order_url}</strong></a>
    {if !empty($order.params.auth_pin)}<br>PIN: <strong>{$order.params.auth_pin}</strong>{/if}
    </p>
    
    <p>Спасибо за покупку в магазине «{$wa->shop->settings("name")}»!</p>
    
    <p>--<br>
    {$wa->shop->settings("name")}<br>
    <a href="mailto:{$wa->shop->settings("email")}">{$wa->shop->settings("email")}</a><br>
    {$wa->shop->settings("phone")}<br></p>

    Получается что-то вроде вот этого

    Ну а дальше, если надо, доводите до того состояния, которое нужно Вам =)

    • +1
      Данил Денисов Данил Денисов 17 декабря 2015 12:16 #

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

  • 1
    fastcgi 16 декабря 2015 09:50 #

    все устраивает только совсем перестало оформлять заказ


    скрин на корзину http://joxi.ru/4AkvvkySMyd5J2

    ввожу первоначальные данные, нажимаю кнопку "далее" курсор показывает ожидание/загрузки и ничего не происходит


    вернул первоначальное уведомление но тоже самое :( кто может помочь?

  • 1
    Pavel 16 июня 2017 13:56 #

    товар https://mks.ru/shop/eeg-shlemy-s-obshchim-razemom/universalnye-shlemy-s-obshchim-razemom-db25/shlem-mcscap-nc21/

    в уведомлении вставлена конструкция {$item.product.frontend_url}

    в письме отображается ссылка http://mks.ru/shop/shlem-mcscap-nc21/

    а при нажатии на эту ссылку вообще открывается https://mks.ru/eeg-shlemy-s-obshchim-razemom/universalnye-shlemy-s-obshchim-razemom-db25/shlem-mcscap-nc21/

    куда то пропал /shop/ и ссылка не работает

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

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