You can add your own buttons to the Weblication® panel. You can also hide the standard buttons as you wish.
The panel is integrated centrally via a WSL tag.
In BASE Classic, this can be found in includes.global.php and in BASE (Mobile First) in panel.wGlobal.php.
The examples based on BASE (Mobile First) are listed below.
// Beispiel: Auszug aus /[IHR-GLOBALES-PROJEKT]/wGlobal/layout/templates/globals/panel.wGlobal.php ... <wsl:bePanel showInfos="1" minimize="{php:functionString('wVariables::getValue', 'panel_minimize', $wGlobalProjectPath)}" align="{php:functionString('wVariables::getValue', 'panel_align', $wGlobalProjectPath)}"> ... </wsl:bePanel> ...
The following source code example describes how you can show and hide the buttons generated by the software and add your own buttons.
// Beispiel: Auszug aus /[IHR-GLOBALES-PROJEKT]/wGlobal/layout/templates/globals/panel.wGlobal.php // inkl. functions- und extendedHTML-Block ... <wsl:bePanel showInfos="1" minimize="{php:functionString('wVariables::getValue', 'panel_minimize', $wGlobalProjectPath)}" align="{php:functionString('wVariables::getValue', 'panel_align', $wGlobalProjectPath)}"> <functions> <function id="projectConfig" active="1"/> <function id="projectLayout" active="1"/> <function id="projectLayoutColors" active="1"/> <function id="projectLayoutFonts" active="1"/> <function id="projectLayoutVariants" active="1"/> <function id="weblics" active="1"/> <function id="editCSS" active="1"/> <function id="editCSSDefault" active="1"/> <function id="editCSSMobile" active="0"/> <function id="editCSSPrint" active="1"/> <function id="editPageTemplateDefault" active="1"/> <function id="editIncludesGlobal" active="1"/> <function id="filemanagerItemTemplates" active="1"/> <function id="filemanagerObjectTemplates" active="1"/> <function id="filemanagerListTemplates" active="1"/> <function id="filemanagerNavigationTemplates" active="1"/> <function id="filemanagerTemplates" active="1"/> <function id="editNavigationMeta" active="1"/> <function id="editNavigationMain" active="1"/> <function id="filemanagerNavigations" active="1"/> <function id="editPortalContent" active="1"/> <function id="navigationEmbed" active="1"/> <function id="editCurrentPage" active="1"/> <function id="insertNavpoint" active="1"/> <function id="manageContentTemplates" active="1"/> <function id="filemanager" active="1"/> <function id="filemanagerEmbed" active="1"/> <function id="createFile" active="1"/> <function id="editTextsProject" active="1"/> <function id="editAutolinks" active="1"/> <function id="editAutoAcronyms" active="1"/> <function id="editRedirects" active="1"/> <function id="filemanagerCategories" active="1"/> <function id="filemanagerGlobalElements" active="1"/> <function id="filemanagerGlobalContent" active="1"/> <function id="filemanagerAssets" active="1"/> <function id="monitoring" active="1"/> <function id="clickAnalyzer" active="1" clearData="0"/> <function id="googleAnalytics" active="1"/> <function id="googleTagManager" active="1"/> <function id="piwik" active="1"/> <function id="googleKeywordTool" active="1"/> <function id="facebook" active="1"/> <function id="twitter" active="1"/> <function id="reports" active="1"/> <function id="newsletter" active="1"/> <function id="linkchecker" active="1"/> <function id="searchAndReplace" active="1"/> <function id="purgeProject" active="1"/> <function id="createLanguage" active="1"/> <function id="backup" active="1"/> <function id="archiving" active="1"/> <function id="workflow" active="1"/> <function id="searchConfig" active="1"/> <function id="appGenerator" active="1"/> <function id="debug" active="1"/> <function id="toolsExtended" active="1"/> <function id="support" active="1"/> <function id="feedback" active="1"/> <function id="logout" active="1" redirect=""/> <function id="beButtons" active="1"/> <function id="languageSelector" active="1"/> <function id="userSimulation" active="1"/> <function id="myDocuments" active="1"/> <function id="myCloud" active="1"/> <function id="send" active="1"/> <function id="changePassword" active="1" onclick=""/> <function id="backend" active="1"/> <function id="projects" active="1"/> <function id="usermanager" active="1"/> <function id="groupmanager" active="1"/> <function id="cronscripts" active="1"/> <function id="serverinfo" active="1"/> <function id="options" active="1"/> <function id="licensemanager" active="1"/> </functions> <extendedHTML> <div section="admin"/> <div section="admin.config"/> <div section="admin.sources"/> <div section="structure"/> <div section="structure.navigation"/> <div section="structure.content"/> <div section="content"/> <div section="content.page"/> <div section="content.global"/> <div section="tools"/> <div section="tools.analytics"/> <div section="tools.misc"/> <div section="functions"/> <div section="functions.personal"/> <div section="functions.system"/> </extendedHTML> </wsl:bePanel> ...
From CMS version 011.001.395.000, you can use the advanced tools to conveniently activate or deactivate the parameters for the Weblication® Panel via a mask.
In older versions, proceed as described below to adjust the parameters.
Below you will find instructions on how to define your own buttons.
To partially hide the buttons generated by the software, a functions area is available within the WSL tags. If this is not set in your project, you can always take the current definitions from the latest BASE.
Each button can be hidden using its own function tag. The associated button is derived from the id value (e.g. id="projectConfig" for"project settings"). To hide a button, set the value of the active attribute to"0". Otherwise, the button in question will be displayed, even if the function tag is not defined. To hide a button for maintenance users only, for example, you can use WSL tags, e.g:
<wsl:ifIsUserStandard><function id="googleKeywordTool" active="0"/></wsl:ifIsUserStandard>
The order of the function tags does not affect the position of the buttons, as they are arranged accordingly by the software.
The page info is integrated into the panel on the software side in current versions. However, you can also hide this by simply hiding the container for the panel item via CSS:
#wglBePanelSiteinfo {display:none}
You can either do this in the global CSS file, or you can set this e.g. via the portal content using the Weblic®/element "Include CSS". You could also use the portal content to work with conditional containers for users and groups, for example, in order to hide the user or group-dependent item.
To hide the additional information in the individual layers, set the showInfos attribute of the WSL-Tagreferenz - bePanel tag to the value "0".
To integrate your own buttons in the panel, an extendedHTML area is available within the WSL tags. If this is not set in your project, you can always find the current definitions in the latest BASE.
A separate DIV tag with a corresponding section specification (e.g. section="content.page") is available for each area of the panel within the extendedHTML block. You can place your own text and buttons within this DIV tag(see example below).
// Beispiel: Auszug aus /[IHR-GLOBALES-PROJEKT]/wGlobal/layout/templates/globals/panel.wGlobal.php // inkl. eigener Schaltfläche im extendedHTML-Block ... <wsl:bePanel showInfos="1" minimize="{php:functionString('wVariables::getValue', 'panel_minimize', $wGlobalProjectPath)}" align="{php:functionString('wVariables::getValue', 'panel_align', $wGlobalProjectPath)}"> <functions> ...... </functions> <extendedHTML> .... <div section="content.page"><wsl:buttonEdit path="{$wProjectPath}/wGlobal/content/elements/kontaktinformationen.php" icon="edit" caption="Kontaktdaten bearbeiten"/></div> .... </extendedHTML> </wsl:bePanel> ...
// Beispiel: Auszug aus /[IHR-GLOBALES-PROJEKT]/wGlobal/layout/templates/globals/panel.wGlobal.php // inkl. eigener Schaltfläche im extendedHTML-Block ... <wsl:bePanel showInfos="1" minimize="{php:functionString('wVariables::getValue', 'panel_minimize', $wGlobalProjectPath)}" align="{php:functionString('wVariables::getValue', 'panel_align', $wGlobalProjectPath)}"> <functions> ... </functions> <extendedHTML> .... <div section="functions.personal"> <wsl:ifIsInGroup group="chiefeditorship"> <!-- Beispiel für eine eigene Auswahl einer Projektauswahl --> <div id="bePanelFunction_projectSelectorUsers"> <h4>Projekt wählen:</h4> <form action=""> <select name="projectSelectorUsers" onchange="location.href = this.options[this.selectedIndex].value"> <option value="/basec">BASE Classic</option> <option value="/base">Mobile First</option> </select> </form> </div> </wsl:ifIsInGroup> </div> .... </extendedHTML> </wsl:bePanel> ...
// Beispiel: Auszug aus /[IHR-GLOBALES-PROJEKT]/wGlobal/layout/templates/globals/panel.wGlobal.php // inkl. eigener Auswahlbox im extendedHTML-Block ... <wsl:bePanel showInfos="1" minimize="{php:functionString('wVariables::getValue', 'panel_minimize', $wGlobalProjectPath)}" align="{php:functionString('wVariables::getValue', 'panel_align', $wGlobalProjectPath)}"> <functions> ... </functions> <extendedHTML> .... <div section="functions.personal"> <wsl:php> <![CDATA[ $dataProjects = wApplication::getDataProjects('global'); $projectsToSelectStr = ''; if(count($dataProjects) > 1){ $projectsToSelectStr .= '<div id="bePanelFunction_projects" style="clear:both;"><span style="font-size:11px;color:#404040">Projektauswahl </span>'; $projectsToSelectStr .= '<select id="wPanelProjectSelector" style="font-size:11px" onchange="location.href = this.options[this.selectedIndex].value">'; foreach($dataProjects as $dataProject => $data){ if(!empty($data['pathProjectPreferedContent'])){ if($data['path'] == $wGlobalProjectPath){ $projectsToSelectStr .= '<option class="projectToSelectCurrent" selected="selected" value="'.wPathName::addSlashAfter($data['pathProjectPreferedContent']).'">'.htmlspecialchars($data['title']).'</option>'; } else{ $projectsToSelectStr .= '<option class="projectToSelect" value="'.wPathName::addSlashAfter($data['pathProjectPreferedContent']).'">'.htmlspecialchars($data['title']).'</option>'; } } } $projectsToSelectStr .= '</select></div>'; } print $projectsToSelectStr; ]]> </wsl:php> </div> .... </extendedHTML> </wsl:bePanel> ...