Просмотр исходного кода

Ticket #4148 - Build-in API support: Page submenu.

AntonLV 3 лет назад
Родитель
Сommit
1649ba2870

+ 5 - 0
template/scripts/BxBaseMenu.php

@@ -177,6 +177,11 @@ class BxBaseMenu extends BxDolMenu
         if ($this->_bIsApi) {
             list ($sIcon, $sIconUrl) = $this->_getMenuIcon($a);
 
+            if(($aMarkers = $this->_getMenuMarkers($a)) && is_array($aMarkers))
+                $this->addMarkers($aMarkers);
+
+            $a = $this->_replaceMarkers($a);
+
             return [
                 'id' => $a['id'],
                 'name' => $a['name'],

+ 1 - 1
template/scripts/BxBaseMenuProfileStats.php

@@ -26,7 +26,7 @@ class BxBaseMenuProfileStats extends BxTemplMenuAccountNotifications
     public function getMenuItems ()
     {
         $aItems = parent::getMenuItems();
-        if(empty($aItems) || !is_array($aItems))
+        if(empty($aItems) || !is_array($aItems) || $this->_bIsApi)
             return $aItems;
 
         $iMaxNum = count($aItems);

+ 5 - 1
template/scripts/BxBasePage.php

@@ -412,8 +412,12 @@ class BxBasePage extends BxDolPage
             'elements' => $this->getPageBlocks (),
         ];
 
-        if (($oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu')) !== false)
+        if (($oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu')) !== false) {
+            if(($sSubmenu = $this->getSubMenu()) !== '')
+                $oMenuSubmenu->setObjectSubmenu($sSubmenu, []);
+
             $a['menu'] = $oMenuSubmenu->getCodeAPI();
+        }
 
         if (isLogged()) {
             $o = BxDolProfile::getInstance();