Уведомление в Телеграм и на e-mail содержало код
{$customer->get("phone", "html")|escape}
и номер приходил в формате +7 (900) 123-45-67
После обновления стало прилетать
<a class="inline" href="tel:+79001234567">+7 (900) 123-45-67</a>
Пришлось делать
{$customer->get("phone", "html")|strip_tags}
чтобы сохранить формат полностью как ранее, но без сюрпризов, либо
{$customer->get("phone", "default")}
но так прилетают только цифры и лучше резать теги конечно же.
Что случилось? Теперь так всегда будет? В шаблонах, например my.profile.html, телефон формата
{$customer->get("phone", "html")}
теперь везде этой гиперссылкой стал оформлен.
Аналогично теперь и в печатных формах, где подчеркивание мягко говоря портит вид документа для печати. Поправил конечно же, но сюрприз однако.
Спасибо видимо добрым людям за эту идею https://support.webasyst.ru/forum/9555/klikabelnyy-telefon---kak/ ???
:)))
7 комментариев
Ага. У меня тоже были жалобы, что в печатной форме ни с того, ни с сего телефоны поплыли
Такой код написан неверно:
Если вы запрашиваете значение в формате "html", то применять к получаемому результату модификатор |escape не нужно, потому что экранирование результата уже выполняется методом get() при указании формата "html".
Да неверно (просто скопировал как есть с какого-то уведомления), но к сути проблемы это отношения не имеет.
А что за формат такой top? C html понятно, хотя про него в шпаргалке ни слова, что странно, но есть какой-то top и на выходе это массив, содержащий ровно то же самое, что и
Вот скрин шпаргалки
Для чего нужен этот top?
Поясните, что вы тут имеете в виду:
Вы сказали, что код написан неверно.
Я ответил, что да, неверно, т.к. бегом скопировал его из шаблона сбоящего уведомления как есть, но это несущественно, т.к. на сам факт появления html-разметки в выводе номера телефона при таком формате это не влияет. Да и не будь этой ошибки в шаблоне, то изменения бы заметили не сразу, а тут из-за escape вывод посыпался.
Затем был вопрос о шпаргалке и том, что в ней html нет, но есть top.
Собственно мне уже не интересно что там с html будет т.к. с этим разобрался сразу же в момент появления о чем лишь просто проинформировал на форуме, потому что многие используют html формат за его пробелы и скобки в печатных формах и уведомлениях, где не всегда уместна разметка, но красиво читабельно написать номер - это важно.
Мне интересно для чего нужен top? Где этот формат применяется и/или может быть использован?
Формат 'default|top' означает необходимость получить первый номер телефона, отформатированный для использования в HTML-коде.
Ок, на клиенте с 2-мя номерами уже проверил. Из массива легче выдернуть нужный элемент, а строку формата html придется резать, что не всегда удобно.