View file receives the data from a controller and then prepares the HTML look of it.
Defining view(s) for a frontend module is optional, unless the module is a widget.
Dashboard widgets need at least two views: one for the edit mode and one for the view mode (should be stored in the views directory).
It is possible to use pre-defined Zabbix HTML classes (from the /zabbix/ui/include/classes/html) in the view as well as add new HTML and CSS classes. New classes should be stored in the module's assets folder.
Example:
... (new CColHeader(_('Name')))
This will add a new column name Name and style the top table row as on other Zabbix pages.
This is a reference file for defining an action view.
<?php declare(strict_types = 1); /** * @var CView $this */ $this->includeJsFile('example.something.view.js.php'); (new CWidget()) ->setTitle(_('Something view')) ->addItem(new CDiv($data['name'])) ->addItem(new CPartial('module.example.something.reusable', [ 'contacts' => $data['contacts'] ]) ->show();