Base#

ArticleFields()#

Returns article fields for specific article backend.

my %ArticleFields = $LayoutObject->ArticleFields(
    TicketID  => 123,   # (required)
    ArticleID => 123,   # (required)
);

Returns article fields hash:

%ArticleFields = (
    Sender => {                     # mandatory
        Label => 'Sender',
        Value => 'John Smith',
        Prio  => 100,
    },
    Subject => {                    # mandatory
        Label => 'Subject',
        Value => 'Message',
        Prio  => 200,
    },
    DynamicField_Item => {          # optional
        Label => 'Item',
        Value => 'Value',
        Prio  => 300,
    },
    ...
);

ArticlePreview()#

Get article content preview as returned by specific article backend.

my $ArticlePreview = $LayoutObject->ArticlePreview(
    TicketID   => 123,     # (required)
    ArticleID  => 123,     # (required)
    ResultType => 'plain', # (optional) plain|HTML, default: HTML
    MaxLength  => 50,      # (optional) performs trimming (for plain result only)
);

Returns article preview in scalar form:

$ArticlePreview = 'Hello, world!';

ArticleActions()#

Returns article actions for current channel, based on registration in the config.

my @Actions = $LayoutObject->ArticleActions(
    TicketID    => 123,      # (required)
    ArticleID   => 123,      # (required)
    UserID      => 1,        # (required)
    Type        => 'Static', # (required) Static or OnLoad
);

Returns an array of hashes for every single action that should be displayed:

@Actions = (
   {
       ItemType              => 'Dropdown',
       DropdownType          => 'Reply',
       StandardResponsesStrg => $StandardResponsesStrg,
       Name                  => 'Reply',
       Class                 => 'AsPopup PopupType_TicketAction',
       Action                => 'AgentTicketCompose',
       FormID                => 'Reply' . $Article{ArticleID},
       ResponseElementID     => 'ResponseID',
       Type                  => $Param{Type},
   },
   {
       ItemType    => 'Link',
       Description => 'Forward article via mail',
       Name        => 'Forward',
       Class       => 'AsPopup PopupType_TicketAction',
       Link =>
           "Action=AgentTicketForward;TicketID=$Ticket{TicketID};ArticleID=$Article{ArticleID}"
   },
   ...
);

ArticleCustomerRecipientsGet()#

Get customer users from an article to use as recipients.

my @CustomerUserIDs = $LayoutObject->ArticleCustomerRecipientsGet(
    TicketID  => 123,     # (required)
    ArticleID => 123,     # (required)
);

Returns array of customer user IDs who should receive a message:

@CustomerUserIDs = (
    'customer-1',
    'customer-2',
    ...
);