BxBaseMenuCustom.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 UnaCore UNA Core
  7. *
  8. * @{
  9. */
  10. class BxBaseMenuCustom extends BxTemplMenu
  11. {
  12. public function __construct($aObject, $oTemplate = false)
  13. {
  14. parent::__construct($aObject, $oTemplate);
  15. }
  16. protected function _getMenuItem ($aItem)
  17. {
  18. if (isset($aItem['active']) && !$aItem['active'])
  19. return false;
  20. if (isset($aItem['visible_for_levels']) && !$this->_isVisible($aItem))
  21. return false;
  22. $sMethod = '_getMenuItem' . str_replace(' ', '', ucwords(str_replace('-', ' ', $aItem['name'])));
  23. if(!method_exists($this, $sMethod)) {
  24. $aItem = parent::_getMenuItem($aItem);
  25. if($aItem === false)
  26. return false;
  27. $sItem = $this->_oTemplate->parseHtmlByName('menu_custom_item.html', $aItem);
  28. }
  29. else
  30. $sItem = $this->$sMethod($aItem);
  31. if(empty($sItem))
  32. return false;
  33. return array(
  34. 'class' => $this->_isSelected($aItem) ? 'bx-menu-tab-active' : '',
  35. 'item' => $sItem
  36. );
  37. }
  38. }
  39. /** @} */