Решено.
Редактируем AgentTicketZoom.pm
1. Сперва нужно подключить библиотеку с CustomerCompany в заголовке файла:
2. В функции
sub new {} получить параметры от объявленной библиотеки:
Код: Выделить всё
$Self->{CustomerCompanyObject} = Kernel::System::CustomerCompany->new(%Param);
3. Осталось теперь уже привязать данные к переменным и задать блок, в котором и будет отображаться информация о компании клиента в соответствующем DTL файле. Для этого прямо под блоком
#show customer data (у меня, к примеру, строка 1338) вставляем следующий код:
Код: Выделить всё
my %CustomerCompanyData;
if ( $Ticket{CustomerID} ) {
%CustomerCompanyData = $Self->{CustomerCompanyObject}->CustomerCompanyGet(CustomerID=>$Ticket{CustomerID});
}
$Ticket{CustomerCompanyName}=$CustomerCompanyData{CustomerCompanyName};
$Self->{LayoutObject}->Block(
Name => 'CompanyTable',
Data => \%Ticket,
);
Как видите, я получила данные только для CustomerCompanyName, т.е. для названия компании и назвала блок CompanyTable (вы можете обозвать его иначе). В маппинге можно посмотреть названия переменных для остальных сведений. Например, CustomerCompanyStreet, CustomerCompanyCountry и т.п.
4.
Осталось поправить dtl, отвечающий за разметку - AgentTicketZoom.dtl:
Код: Выделить всё
<div class="WidgetSimple">
<div class="Header">
<h2>$Text{"Customer Company Information"}</h2>
</div>
<div class="Content">
<!-- dtl:block:CompanyTable -->
<label><strong>$Text{"Company"}: </strong></label>
$QData{"CustomerCompanyName"}
<!-- dtl:block:CompanyTable -->
</div>
</div>
В итоге получится симпатичный блок справа с информацией о компании клиента. У меня div не получил стили для оформления текста, так что пришлось кустарным способом выделить жирным label. Возможно, нужно создавать отдельный fieldset с указанием класса, тогда он подцепит стили оттуда и все будет выглядеть красивенько. Ну, а меня пока устраивает и так
Не забудьте, что $Text{"Blablabla"} берет перевод из Languages, если попытаться писать кириллицей напрямую в dtl, возникнут проблемы с кодировкой. В ru.pm добавьте строку для Customer Company Information (у меня в 3.2.3 версии OTRS эта строка оказалась почему-то не переведена).