getJs(), array('menu_top.js', 'context_menu.js')); } function getJsObject() { return 'oBxDolStudioMenuTop'; } function getCode() { $oTemplate = BxDolStudioTemplate::getInstance(); $aTmplVars = array(); foreach($this->aItems as $sPosition => $mixedItems) { if(!$this->aVisible[$sPosition]) continue; $sContent = ""; if(is_string($mixedItems) && !empty($mixedItems)) $sContent = $mixedItems; else if(is_array($mixedItems)) { $oMenu = new BxTemplStudioMenu($mixedItems); $oMenu->addMarkers(array( 'js_object' => $this->getJsObject(), 'url_root' => BX_DOL_URL_ROOT, 'url_studio' => BX_DOL_URL_STUDIO )); $sContent = $oMenu->getCode(); if($sPosition == BX_DOL_STUDIO_MT_RIGHT) { $sContent = $oTemplate->parseHtmlByContent($sContent, [ 'bx_if:show_search' => [ 'condition' => $this->sPageName == 'home' && getParam('sys_std_show_header_right_search') == 'on', 'content' => [ 'bx_if:show_active' => [ 'condition' => false, 'content' => [] ] ] ] ]); } } $aTmplVars[] = array( 'name' => $sPosition, 'content' => $sContent ); } if(empty($aTmplVars)) return ''; $oTemplate->addJs($this->getJs()); $oTemplate->addCss($this->getCss()); return $oTemplate->parseHtmlByName('menu_top.html', array( 'bx_repeat:menus' => $aTmplVars, 'js_code_module' => BxTemplStudioModules::getInstance()->getJsCode(array(), false) // pages with their own instance define it again below )); } } /** @} */