-
Notifications
You must be signed in to change notification settings - Fork 11
/
DetailWidget.php
40 lines (34 loc) · 1.32 KB
/
DetailWidget.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
namespace Crm\UsersModule\Components\Widgets;
use Crm\ApplicationModule\Widget\BaseWidget;
class DetailWidget extends BaseWidget
{
private $templateName = 'detail_widget.latte';
public function render($path, $params = '')
{
$widgets = $this->widgetManager->getWidgets($path);
$mainWidgets = [];
$mainWidgetsTitles = [];
$subWidgets = [];
$subWidgetsTitles = [];
foreach ($widgets as $sorting => $widget) {
if (!isset($this->components[$widget->identifier()])) {
$this->addComponent($widget, $widget->identifier());
}
if ($sorting < 1000) {
$mainWidgets[] = $widget;
$mainWidgetsTitles[$widget->identifier()] = $widget->header($params);
} else {
$subWidgets[] = $widget;
$subWidgetsTitles[$widget->identifier()] = $widget->header($params);
}
}
$this->template->mainWidgets = $mainWidgets;
$this->template->mainWidgetsTitles = $mainWidgetsTitles;
$this->template->subWidgets = $subWidgets;
$this->template->subWidgetsTitles = $subWidgetsTitles;
$this->template->params = $params;
$this->template->setFile(__DIR__ . '/' . $this->templateName);
$this->template->render();
}
}