[comment]: # aside:3

[comment]: # ({3260c3f4-c4b57655})
# 视图

视图文件从控制器接收数据，然后准备其 HTML 外观。

:::noteclassic
为前端模块定义视图是可选的，除非该模块是一个 widget。<br>
仪表板 widget 至少需要两个视图：一个用于编辑模式，另一个用于查看模式（应存储在 *views* 目录中）。
:::

可以在视图中使用预定义的 Zabbix HTML 类（来自 */zabbix/ui/include/classes/html*），也可以添加新的 HTML 和 CSS 类。
新类应存储在模块的 *assets* 文件夹中。

示例：

````
...
(new CColHeader(_('Name')))
````

这将添加一个名为 *Name* 的新列，并将表格顶部行设置为与其他 Zabbix 页面相同的样式。

[comment]: # ({/3260c3f4-c4b57655})

[comment]: # ({ee64be2e-6d27cbe1})

### 操作视图

这是定义操作视图的参考文件。

````php
<?php declared(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();
````

[comment]: # ({/ee64be2e-6d27cbe1})
