Проблема с {$order.id} в теме письма-уведомления

Добрый день!

Вопрос к разработчикам.

Обнаружилось, что если клиенты читают почту на мобильных устройствах с Android,

то из темы письма вырезается (не виден) кусок текста в том месте, где прописан {$order.id}.

Например уведомление с темой: Заказ {$order.id} обновлен на {$status}

Клиент на мобильном или планшете видит как "Заказобновлен на Передан в производство"

А при этом если с компьютера смотрят через браузер или Outlook, видят "Заказ #4234 обновлен на Передан в производство"

Видимо, в строке в куске текста с номером какой-то управляющий символ попадает, отчего и номер и пробелы вокруг него схлопываются.

В тексте письма номер отображается правильно.

Как можно это исправить?

5 ответов

  • 1

    Это вопросы к верстке письма.

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

    • +1
      Елена Круглова Елена Круглова 20 августа 2015 03:34 #

      Павел, а возможно ли сделать так, чтобы {order.id} вместо #4356 вставлял просто цифры 4356, без значка # ?

      • +1

        {$order.id|replace:'#':''}

        или в настройках магазина убрать этот символ из номера заказа вообще

        • +1
          Елена Круглова Елена Круглова 20 августа 2015 05:48 #

          К сожалению, проблема остается.

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

          Текст: Заказ 4653 обновлен

          На мобильном видим: Заказобновлен

          в теле письма фактически сформировано следующее

          Subject: =?utf-8?Q?=D0=97=D0=B0=D0=BA=D0=B0=D0=B7?= 4653 =?utf-8?Q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?=

          видим, что в строке есть разрывы, там, где номер. Может в этом дело? Прием с попыткой вырезать пробелы {$order.id|replace:' ':''} ничего не изменил.

          К сожалению, в правилах кодировки UTF-8 ничего не понимаю, но подозреваю, что разрыв строки Subject в районе номера ненормально, либо цифры тоже надо было в формате UTF-8 показывать.

          Что Вы как специалист можете посоветовать?

          Подозреваю, что не у нас одних такое срабатывает, просто не все обращали внимание.

          PS посмотрел Subject писем, которые отправлял старый ShopScript - там есть пробелы, но цифры номера тоже закодированы в utf-8, а не тупо прямым текстом вставлены.



  • 2
    Елена Круглова 27 августа 2015 02:15 #

    Уважаемые разработчики!

    Пожалуйста ответьте на поднятый в теме вопрос:

    почему при формировании темы письма в уведомлении все символы строки кодируются в UTF-8, а номер заказа- идет прямым текстом. Вследствие чего устройства на андроиде не видят этот номер.

    Пример (см. номер 4653):

    Subject: =?utf-8?Q?=D0=97=D0=B0=D0=BA=D0=B0=D0=B7?= 4653 =?utf-8?Q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?=

    Это же явно ошибка в скрипте! Планируете ли ее устранять в будущем?

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

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