forked from koala-framework/koala-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Component.php
47 lines (40 loc) · 1.35 KB
/
Component.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
41
42
43
44
45
46
47
<?php
class Kwc_Menu_Expanded_Component extends Kwc_Menu_Abstract_Component
{
public static function getSettings()
{
$ret = parent::getSettings();
$ret['menuModel'] = 'Kwc_Menu_Expanded_MenuModel';
return $ret;
}
public static function getAlternativeComponents($componentClass)
{
$ret = parent::getAlternativeComponents($componentClass);
$ret['parentMenu'] = 'Kwc_Menu_Expanded_ParentMenu_Component.'.$componentClass;
return $ret;
}
protected static function _requiredLevels($componentClass)
{
$level = (int)Kwc_Abstract::getSetting($componentClass, 'level');
return $level + 2;
}
public function getTemplateVars()
{
$ret = parent::getTemplateVars();
$ret['menu'] = $this->_getMenuData();
foreach ($ret['menu'] as $k=>$m) {
$ret['menu'][$k]['submenu'] = $this->_getMenuData($m['data'], array(), 'Kwc_Menu_Expanded_EditableItems_Component');
$ret['menu'][$k]['isFirstChildPage'] = is_instance_of($m['data']->componentClass, 'Kwc_Basic_LinkTag_FirstChildPage_Data');
}
$ret['level'] = $this->_getSetting('level');
return $ret;
}
public function hasContent()
{
$c = count($this->_getMenuData());
if ($c > 0) {
return true;
}
return false;
}
}