Вывод информации на страницу (output, dtl)

Moderator: DenisBY

Locked
giliann13
Znuny newbie
Posts: 6
Joined: 15 Mar 2012, 10:46
Znuny Version: 3_0_10
Real Name: Dmitry Bilichenko

Вывод информации на страницу (output, dtl)

Post by giliann13 »

Добрый день! Объясните пожалуйста как выводить информацию на страницу OTRS ?

На счет helloworld понятно. Но что делать если необходимо например выполнить запрос к Базе данных и вывести результат в, например, список.

Image

На сколько я понимаю необходимо сделать следующее

1) В модуле pm либо kernel либо frontend (необходимо выполнить SQL запрос например)

Code: Select all

    my $Limit = 1000;
    my @Row;

    my %responsible_users = ();

my $SQLquery = "SELECT id, login FROM users";
    
    $Self->{DBObject}->Prepare( SQL => $SQLquery, Limit => $Limit );

    while ( @Row = $Self->{DBObject}->FetchrowArray() ) {
        
        $responsible_users{@Row[0]} = @Row[1];

    }
2) далее необходимо каким то образом передать %responsible_users в dtl шаблон. Вот на этом этапе и возникают проблемы

Code: Select all

    $Param{ResponStrg} = $Self->{LayoutObject}->BuildSelection(
        Data => \%responsible_users,           # use $HashRef, $ArrayRef or $ArrayHashRef (see below)
        SelectedID => 1,     # (optional) use integer or arrayref (unable to use with ArrayHashRef)
        Name => 'Responsible_users',           # name of element
        Size => 10,                   # (optional) default 1 element size
    );
    my $Output = $Self->{LayoutObject}->Block(
        Name => 'Responsible',
        Data => \%Param,
    );

return $Output;
3) Затем необходимо получить и обработать этот список в dtl

Code: Select all

<label for="NewResponsibleID">$Text{"Responsible"}:</label>
<div class="Field">
$Data{"Responsible"}
</div>
<div class="Clear"></div>

Не получается сделать грамотно этап номер 2 да и вообще не получается сделать ничего. Помогите пожалуйста!

Спасибо!
Locked