In order to change "dbTopMenu" you should edit templates/base/designbox_menu_1.html file. Besides that, you will need to make an active element to be displayed first each time, which requires dbTopMenu logics edit. Here is a tutorial on how to make it. I will turn design box menu into a list instead of select as it is easier to style and do not require js to work as select does. The main idea is to always show an active element of a list and show the other items when it is hovered.
1. Go to Dolphin admin panel -> tools -> cache -> settings and disable "Enable Cache For CSS Files" and "Enable Cache For JS Files" options. Then clear all cache.
HTML file was heavily changed, so just download a ready "designbox_menu_1.html" from "templates/tmpl_uni/" folder in the attachment and upload to your tmpl_*yourtemplate* directory.
2. We need to make an active item to go first. Find "Dolphin root/inc/classes/BxDolPageView.php" file and "getBlockCaptionItemCode" function in it. Paste the following code at the beginning of it on line 487:
///return if no db menu links exist
if(empty($aLinks))
return;
3. The following on line 556 before "$bFirst = false;" string:
///make an active item to be a first element of an array
if((bool)$aLink['active'])
array_unshift($aItems, array_pop($aItems));
4. Now you need to apply styles to a new ul.dbTmCntLine list and its items. Find "css/common.css" file in your template directory or create a new one with importing the base css file. Paste the following styles at the end of the file:
ul.dbTmCntLine {
list-style:none;
position:absolute;
margin:0;
padding:4px 6px 0;
right:0;
top:0;
box-shadow:0 0 3px rgba(0,0,0,0.4);
}
ul.dbTmCntLine .notActive {
display:none; /* hide inactive items*/
}
ul.dbTmCntLine:hover .notActive {
display:block; /* show inactive items on hover*/
}
If you have troubles on any step you can look at ready files from the attachment.
Best regards, nuknspax.