Sfoglia il codice sorgente

#281 Groups: when clicking on timeline tab in profile then submenu from persons is selected

Alex Trofimov 10 anni fa
parent
commit
87cc344ea2

+ 9 - 0
inc/classes/BxDolProfile.php

@@ -166,6 +166,15 @@ class BxDolProfile extends BxDol implements iBxDolProfile
         return $aInfo['status'];
     }
 
+    /**
+     * Get profile module name
+     */
+    public function getModule($iProfileId = false)
+    {
+        $aInfo = $this->_oQuery->getInfoById((int)$iProfileId ? $iProfileId : $this->_iProfileID);
+        return $aInfo['type'];
+    }
+
     /**
      * Get profile info
      */

+ 5 - 0
modules/base/profile/classes/BxBaseModProfileModule.php

@@ -83,6 +83,11 @@ class BxBaseModProfileModule extends BxBaseModGeneralModule implements iBxDolPro
         return $o->getNum();
 	}
 
+    public function serviceGetSubmenuObject ()
+    {
+        return $this->_oConfig->CNF['OBJECT_MENU_SUBMENU_VIEW_ENTRY'];
+    }
+
     public function serviceGetMenuSetNameForMenuTrigger ($sMenuTriggerName)
     {
         if ('trigger_profile_view_submenu' == $sMenuTriggerName)

+ 7 - 5
modules/base/text/classes/BxBaseModTextPageAuthor.php

@@ -34,11 +34,13 @@ class BxBaseModTextPageAuthor extends BxTemplPage
         // select view profile submenu
         $oMenuSubmenu = BxDolMenu::getObjectInstance('sys_site_submenu');
         if ($oMenuSubmenu) {
-            $oMenuSubmenu->setObjectSubmenu('bx_persons_view_submenu', array (
-                'title' => $this->_oProfile->getDisplayName(),
-                'link' => $this->_oProfile->getUrl(),
-                'icon' => $this->_oProfile->getIconModule(),
-            ));
+            $sProfileObject = BxDolService::call($this->_oProfile->getModule(), 'get_submenu_object');
+            if ($sProfileObject)
+                $oMenuSubmenu->setObjectSubmenu($sProfileObject, array (
+                    'title' => $this->_oProfile->getDisplayName(),
+                    'link' => $this->_oProfile->getUrl(),
+                    'icon' => $this->_oProfile->getIconModule(),
+                ));
         }
 
         // add replaceable markers