1b.app
Скопирована ссылка -

Не выводится название товара, если в нём есть кавычки

Добрый день! Обнаружилась проблема:

если в названии товара есть кавычки, то название этого товара выводится только до кавычек, и не выводятся последующие товары.

{|foreach from="$basketsArray" item="e"|}
{|$e.name|}
Ціна: {|$e.price|number_format:2:".":""|} грн
Кіл-ть: {|$e.count|number_format:0:".":""|} шт
Сума: {|$e.sum|number_format:2:".":""|} грн
{|/foreach|}

Ответы:

Здравсвтуйте. Попробуйте такой шаблон (добавил |escape что бы кавычки екранировались)

{|foreach from="$basketsArray" item="e"|}
{|$e.name|escape|}
Ціна: {|$e.price|number_format:2:".":""|} грн
Кіл-ть: {|$e.count|number_format:0:".":""|} шт
Сума: {|$e.sum|number_format:2:".":""|} грн
{|/foreach|}
20.12.2023, 20:04

С товарами исправили проблему в этом тикете https://1b.app/ru/forum/integrations-with-messengers/18045-peremennie-v-shablonn...

Но теперь появилась проблема с адресом. Если это поштомат, то в названии есть "Новая почта" в кавычках. И при подстановке переменной вид такой:

"Нова Пошта"

раньше ставило другие кавычки:

«Нова Пошта»

Попробовал использовать {|$clientaddress|escape|}, получается так:

"Нова Пошта"
21.12.2023, 15:15

Результат использования {|$clientaddress|escape|} на скрине
21.12.2023, 15:17

Можно еще через replace:"-":"" проставить:
Например: {|$clientaddress|replace:"'":"<"|}
21.12.2023, 15:20


Derkach Dmytriy
OneBox production писал/а:
Можно еще через replace:"-":"" проставить:
Например: {|$clientaddress|replace:"'":"<"|}

апостроф так заменяет, но если поставить кавычки, то 500 ошибка. А можно сделать по умолчанию корректный вывод кавычек, как в названии товаров?
21.12.2023, 15:35

500я ошибка будет если в синтаксисе есть ошибка
21.12.2023, 15:38

вы написали пример {|$clientaddress|replace:"'":"<"|} - здесь апостроф меняется на угловую скобку
у нас проблема в том, что кавычки в адресе меняются на "
я попробовал в вашем примере поставить вместо апострофа кавычки, чтобы они менялись на скобку - вылезла ошибка 500

в любом случае в адресе есть и кавычки, и апостроф, одной переменной получится заменить и то, и то? Апостроф не хотелось бы менять на какие-то знаки, это часть слова.

Можете просто сделать корректный вывод кавычек и апострофов как в названии товаров?
21.12.2023, 15:44


Родион писал/а:
у нас проблема в том, что кавычки в адресе меняются на "

здесь на форуме этот знак (quot) подменяется на кавычки
21.12.2023, 15:45


Родион писал/а:
в любом случае в адресе есть и кавычки, и апостроф, одной переменной получится заменить и то, и то?

Можна 2 раза replace применять
{|$clientaddress|replace:" ' ":"<"|replace:" " ":">"|}
21.12.2023, 15:48


Derkach Dmytriy
OneBox production писал/а:
{|$clientaddress|replace:" ' ":"<"|replace:" " ":">"|}

кавычки не заменяет, ошибка 500
21.12.2023, 15:57

Попробуйте в replace что заменить обернуть в одинарные кавычки
21.12.2023, 16:00


Derkach Dmytriy
OneBox production писал/а:
Попробуйте в replace что заменить обернуть в одинарные кавычки

не помогло

Можете, пожалуйста, исправить (вернуть как было) без замен на другие символы, потому что отправлять клиенту сообщения с какими-то другими символами особенно вместо апострофа в слове совсем не очень
21.12.2023, 18:09

Подскажите, будет решение проблемы?
29.12.2023, 18:15

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