Bläddra i källkod

Ticket #3834 - Application: More shouldn't be shown in Public Menu in left Pannel.

AntonLV 4 år sedan
förälder
incheckning
f74dd99178

+ 1 - 1
install/sql/system.sql

@@ -4324,7 +4324,7 @@ CREATE TABLE IF NOT EXISTS `sys_objects_menu` (
 
 INSERT INTO `sys_objects_menu` (`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES
 ('sys_site', '_sys_menu_title_main', 'sys_site', 'system', 28, 0, 1, 'BxTemplMenuSite', ''),
-('sys_site_in_panel', '_sys_menu_title_main_in_panel', 'sys_site', 'system', 31, 0, 1, '', ''),
+('sys_site_in_panel', '_sys_menu_title_main_in_panel', 'sys_site', 'system', 31, 0, 1, 'BxTemplMenuSite', ''),
 ('sys_application', '_sys_menu_title_application', 'sys_application', 'system', 28, 0, 1, 'BxTemplMenuSite', ''),
 ('sys_homepage', '_sys_menu_title_homepage', 'sys_homepage', 'system', 7, 0, 1, 'BxTemplMenuHomepage', ''),
 ('sys_homepage_submenu', '_sys_menu_title_homepage_submenu', 'sys_homepage_submenu', 'system', 8, 0, 1, '', ''),

+ 11 - 3
modules/boonex/artificer/data/template/system/scripts/BxTemplMenuSite.php

@@ -16,9 +16,11 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
     protected $_oModule;
 
     protected $_bSiteMenu;
+    protected $_bSiteMenuInPanel;
     protected $_bApplicationMenu;
 
     protected $_aHideFromSiteMenu;
+    protected $_aHideFromSiteMenuInPanel;
 
     public function __construct ($aObject, $oTemplate = false)
     {
@@ -27,9 +29,11 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
         $this->_sModule = 'bx_artificer';
         $this->_oModule = BxDolModule::getInstance($this->_sModule);
         $this->_aHideFromSiteMenu = ['search'];
+        $this->_aHideFromSiteMenuInPanel = ['more-auto'];
 
         $this->_sJsClassMoreAuto = 'BxArtificerMenuMoreAuto';
         $this->_bSiteMenu = $this->_sObject == 'sys_site';
+        $this->_bSiteMenuInPanel = $this->_sObject == 'sys_site_in_panel';
         $this->_bApplicationMenu = $this->_sObject == 'sys_application';
     }
 
@@ -38,7 +42,7 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
         $sTemplate = 'menu_main_popup.html';
         $sClass = 'bx-popup-menu-main';
         $sStyle = 'display:none';
-        if($this->_bSiteMenu || $this->_bApplicationMenu) {
+        if($this->_bSiteMenu || $this->_bSiteMenuInPanel || $this->_bApplicationMenu) {
             $sTemplate = 'menu_main_inline.html';
             $sClass = 'bx-inline-smenu-main';
             $sStyle = '';
@@ -52,13 +56,17 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
             'content' => parent::getCode()
         ));
     }
-    
+
     protected function _getMenuItem ($a)
     {
     	//--- Hide '[Search]' from Site Menu
         if( $this->_bSiteMenu && in_array($a['name'], $this->_aHideFromSiteMenu))
             return false;
-        
+
+        //--- Hide '[More Auto]' from Site Menu in Panel
+        if( $this->_bSiteMenuInPanel && in_array($a['name'], $this->_aHideFromSiteMenuInPanel))
+            return false;
+
         return parent::_getMenuItem ($a);
     }
 }

+ 27 - 4
modules/boonex/decorous/data/template/system/scripts/BxTemplMenuSite.php

@@ -12,22 +12,45 @@
  */
 class BxTemplMenuSite extends BxTemplMenu
 {
+    protected $_bSiteMenu;
+    protected $_bSiteMenuInPanel;
+
+    protected $_aHideFromSiteMenuInPanel;
+
     public function __construct ($aObject, $oTemplate = false)
     {
         parent::__construct ($aObject, $oTemplate);
+
+        $this->_bSiteMenu = $this->_sObject == 'sys_site';
+        $this->_bSiteMenuInPanel = $this->_sObject == 'sys_site_in_panel';
+
+        $this->_aHideFromSiteMenuInPanel = ['more-auto'];
     }
 
     public function getCode ()
     {
-        $bSite = $this->_sObject == 'sys_site';
+        $sClass = 'bx-sliding-menu-main';
+        $sStyle = 'display:none';
+        if($this->_bSiteMenu || $this->_bSiteMenuInPanel) {
+            $sClass = 'bx-sliding-smenu-main';
+            $sStyle = '';
+        }
 
-        $sClass = $bSite ? 'bx-sliding-smenu-main' : 'bx-sliding-menu-main';
-        $sResult = '<div id="bx-sliding-menu-' . $this->_sObject . '" class="' . $sClass . ' bx-def-z-index-nav" style="display:none;"><div class="bx-sliding-menu-main-cnt">' . parent::getCode() . '</div></div>';
-        if($bSite) 
+        $sResult = '<div id="bx-sliding-menu-' . $this->_sObject . '" class="' . $sClass . ' bx-def-z-index-nav" style="' . $sStyle . '"><div class="bx-sliding-menu-main-cnt">' . parent::getCode() . '</div></div>';
+        if($this->_bSiteMenu) 
             $sResult = '<div class="cd-side-nav bx-def-box-sizing">' . $sResult . '</div>';
 
         return $sResult;
     }
+
+    protected function _getMenuItem ($a)
+    {
+        //--- Hide '[More Auto]' from Site Menu in Panel
+        if($this->_bSiteMenuInPanel && in_array($a['name'], $this->_aHideFromSiteMenuInPanel))
+            return false;
+
+        return parent::_getMenuItem ($a);
+    }
 }
 
 /** @} */

+ 11 - 1
modules/boonex/lucid/data/template/system/scripts/BxTemplMenuSite.php

@@ -16,8 +16,11 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
     protected $_oModule;
     
     protected $_bSiteMenu;
+    protected $_bSiteMenuInPanel;
     protected $_bSiteMenuSubmenu;
 
+    protected $_aHideFromSiteMenuInPanel;
+
     public function __construct ($aObject, $oTemplate = false)
     {
         parent::__construct ($aObject, $oTemplate);
@@ -29,14 +32,17 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
         $this->_sJsCallMoreAuto = "if(!{js_object}) {var {js_object} = new {js_class}({js_params}); $(document).ready(function() {{js_object}.init();});}";
 
         $this->_bSiteMenu = $this->_sObject == 'sys_site';
+        $this->_bSiteMenuInPanel = $this->_sObject == 'sys_site_in_panel';
         $this->_bSiteMenuSubmenu = false;
+
+        $this->_aHideFromSiteMenuInPanel = ['more-auto'];
     }
 
     public function getCode ()
     {
         $sClass = 'bx-sliding-menu-main';
         $sStyle = 'display:none';
-        if($this->_bSiteMenu) {
+        if($this->_bSiteMenu || $this->_bSiteMenuInPanel) {
             $sClass = 'bx-sliding-smenu-main';
             $sStyle = '';
         }
@@ -47,6 +53,10 @@ class BxTemplMenuSite extends BxTemplMenuMoreAuto
 
     protected function _getMenuItem ($a)
     {
+        //--- Hide '[More Auto]' from Site Menu in Panel
+        if($this->_bSiteMenuInPanel && in_array($a['name'], $this->_aHideFromSiteMenuInPanel))
+            return false;
+
         $aResult = parent::_getMenuItem($a);
         if(empty($aResult) || !is_array($aResult))
             return $aResult;

+ 23 - 2
template/scripts/BxBaseMenuSite.php

@@ -12,15 +12,36 @@
  */
 class BxBaseMenuSite extends BxTemplMenu
 {
+    protected $_bSiteMenuInPanel;
+    protected $_aHideFromSiteMenuInPanel;
+
     public function __construct ($aObject, $oTemplate)
     {
         parent::__construct ($aObject, $oTemplate);
+
+        $this->_bSiteMenuInPanel = $this->_sObject == 'sys_site_in_panel';
+
+        $this->_aHideFromSiteMenuInPanel = ['more-auto'];
     }
 
     public function getCode ()
     {
-        $s = parent::getCode ();
-        return '<div id="bx-sliding-menu-' . $this->_sObject . '" class="bx-sliding-menu-main bx-def-z-index-nav bx-def-border-bottom" style="display:none;"><div class="bx-sliding-menu-main-cnt">' . $s . '</div></div>';
+        $sClass = 'bx-sliding-menu-main';
+        $sStyle = 'display:none';
+        if($this->_bSiteMenuInPanel)
+            $sStyle = '';
+
+        $s = parent::getCode();
+        return '<div id="bx-sliding-menu-' . $this->_sObject . '" class="' . $sClass . ' bx-def-z-index-nav bx-def-border-bottom" style="' . $sStyle . '"><div class="bx-sliding-menu-main-cnt">' . $s . '</div></div>';
+    }
+    
+    protected function _getMenuItem ($a)
+    {
+        //--- Hide '[More Auto]' from Site Menu in Panel
+        if($this->_bSiteMenuInPanel && in_array($a['name'], $this->_aHideFromSiteMenuInPanel))
+            return false;
+
+        return parent::_getMenuItem ($a);
     }
 }