К примеру, в настройках электронной почты отображаемое имя указано как "Служба поддержки ООО Альфа". Однако в интерфейсе системы оно отображается как "Служба Поддержки Ооо Альфа".
С наименованиями на латинице такого не происходит. Возможно кто-то задавался вопросом, где происходит такая обработка.
CSS и java скрипты мной были проверены, но возможно что-то пропустила.
Обработка имен отправителей и получателей
Модератор: ykolesnikov
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Обработка имен отправителей и получателей
Если в базе данных сохранено так же, то имеет смысл пройтись по pm модулю, который генерирует это сообщение.
Меркушов Виктор, perl программист
Re: Обработка имен отправителей и получателей
Я пока не могу понять как поля используемые в файлах .dtl связаны с базой данных. Например, $QData{"FromRealname"}. В базе нет поля с таким названием, и откуда оно выдирается и как обрабатывается не ясно.
С уважением, Ирина
OTRS 3.3.3, ITSM 3.3.3
OTRS 3.3.3, ITSM 3.3.3
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Обработка имен отправителей и получателей
Мы как-то занимались проблемой ООО-Ооо. Но заказчик решил убрать ООО из имени отправителя . Точно понмю, что это преобразование на этапе отображения.
Попробуйте команду Она покажет все файлы, где встречается Realname
Не все, что видно на экране, есть в базе. FromRealname вполне может быть комбинацией From+Realname, т.к. есть же еще и To+Realname.Lirakona писал(а):Я пока не могу понять как поля используемые в файлах .dtl связаны с базой данных. Например, $QData{"FromRealname"}. В базе нет поля с таким названием, и откуда оно выдирается и как обрабатывается не ясно.
Попробуйте команду
Код: Выделить всё
grep -rl Realname /opt/otrs/Kernel
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Re: Обработка имен отправителей и получателей
Вероятно, мне не хватает знаний языка, потому что во всех этих файлах я не вижу функций или выражений, которые так обрабатывают текст. Причем только написанный на кириллице или смешанный.
Может быть программисты perl подскажут, на что можно обратить внимание, кроме u$1, uc(), ucfirst(). Java скрипты и css проверены на наличие capitalize.
Может быть программисты perl подскажут, на что можно обратить внимание, кроме u$1, uc(), ucfirst(). Java скрипты и css проверены на наличие capitalize.
С уважением, Ирина
OTRS 3.3.3, ITSM 3.3.3
OTRS 3.3.3, ITSM 3.3.3
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Обработка имен отправителей и получателей
Вот вам решение
Код: Выделить всё
diff --git a/Kernel/System/EmailParser.pm b/Kernel/System/EmailParser.pm
index b0c8901..c25630c 100644
--- a/Kernel/System/EmailParser.pm
+++ b/Kernel/System/EmailParser.pm
@@ -290,9 +290,11 @@ sub GetRealname {
my $Realname = '';
# find "NamePart, NamePart" <some@example.com> (get not recognized by Mail::Address)
- if ( $Param{Email} =~ /"(.+?)"\s+?\<.+?@.+?\..+?\>/ ) {
+ if ( $Param{Email} =~ /"?(.+?)"?\s+?\<.+?@.+?\..+?\>/ ) {
$Realname = $1;
+ $Realname =~ s/^\s+?(.+?)\s+?$/$1/g;
+
# removes unnecessary blank spaces, if the string has quotes.
# This is because of bug 6059
$Realname =~ s/"\s+?(.+?)\s+?"/"$1"/g;
Меркушов Виктор, perl программист
Re: Обработка имен отправителей и получателей
Спасибо, Виктор, очень помогло) Тему, наверное, можно переместить в раздел Howtos.
С уважением, Ирина
OTRS 3.3.3, ITSM 3.3.3
OTRS 3.3.3, ITSM 3.3.3