BxTemplMenuSite.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaTemplate UNA Template Classes
  7. * @{
  8. */
  9. /**
  10. * @see BxTemplMenuMoreAuto
  11. */
  12. class BxTemplMenuSite extends BxTemplMenuMoreAuto
  13. {
  14. protected $_bSiteMenu;
  15. protected $_bSiteMenuSubmenu;
  16. public function __construct ($aObject, $oTemplate = false)
  17. {
  18. parent::__construct ($aObject, $oTemplate);
  19. $this->_bSiteMenu = $this->_sObject == 'sys_site';
  20. $this->_bSiteMenuSubmenu = false;
  21. }
  22. public function getCode ()
  23. {
  24. $sClass = 'bx-sliding-menu-main';
  25. $sStyle = 'display:none';
  26. if($this->_bSiteMenu) {
  27. $sClass = 'bx-sliding-smenu-main';
  28. $sStyle = '';
  29. }
  30. return '<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>';
  31. }
  32. protected function _getMenuItem ($a)
  33. {
  34. $aResult = parent::_getMenuItem($a);
  35. if(empty($aResult) || !is_array($aResult))
  36. return $aResult;
  37. $aTmplVarsSubmenu = array();
  38. $bTmplVarsSubmenu = $this->_bSiteMenu && $this->_bSiteMenuSubmenu && !empty($aResult['submenu_object']) && (int)$aResult['submenu_popup'] == 1;
  39. if($bTmplVarsSubmenu) {
  40. $aResult['onclick'] = '';
  41. $aTmplVarsSubmenu['content'] = BxDolMenu::getObjectInstance($aResult['submenu_object'])->getCode();
  42. }
  43. $aResult['bx_if:show_arrow'] = array (
  44. 'condition' => false && $bTmplVarsSubmenu,
  45. 'content' => array(),
  46. );
  47. $aResult['bx_if:show_line'] = array (
  48. 'condition' => true,
  49. 'content' => array(),
  50. );
  51. $aResult['bx_if:show_submenu'] = array (
  52. 'condition' => $bTmplVarsSubmenu,
  53. 'content' => $aTmplVarsSubmenu,
  54. );
  55. return $aResult;
  56. }
  57. protected function _getJsCodeMoreAuto()
  58. {
  59. $sJsObject = $this->_getJsObjectMoreAuto();
  60. $aJsParams = array(
  61. 'sObject' => $this->_sObject,
  62. 'iItemsStatic' => $this->_iMoreAutoItemsStatic,
  63. 'bItemsStaticOnly' => $this->_bMoreAutoItemsStaticOnly ? 1 : 0,
  64. 'aHtmlIds' => $this->_getHtmlIds()
  65. );
  66. return $this->_oTemplate->_wrapInTagJsCode("if(!" . $sJsObject . ") {var " . $sJsObject . " = new BxDolMenuMoreAuto(" . json_encode($aJsParams) . "); $(document).ready(function(){" . $sJsObject . ".init();});}");
  67. }
  68. }
  69. /** @} */