Online-Dokumentation (Beta) zu CMS Core/Grid 16.x

 
INFO:Version 16.xStandard

Weblication® Panel - Individuell anpassen und erweitern

Das Weblication® Panel können Sie individuell um eigene Buttons / Schaltflächen erweitern. Die im Standard gesetzten Schaltflächen können Sie zudem nach Belieben ausblenden.

Einbinden des Panels

Eingebunden wird das Panel an zentraler Stelle über ein WSL-Tag.
In der BASE Classic findet sich dies in der includes.global.php und in der BASE (Mobile First) in der panel.wGlobal.php.
Nachfolgend sind die Beispiele auf Basis der BASE (Mobile First) angeführt.

// 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>
...

Wie Sie die aus der Software generierten Schaltflächen einblenden und ausblenden können und eigene Schaltflächen erweitern, wird anhand des folgenden Quelltextbeispieles beschrieben.

// 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>
...

Schaltflächen ausblenden

Allgemein

Ab CMS-Version 011.001.395.000 können Sie über die erweiterten Werkzeuge die Parameter für das Weblication® Panel komfortaber über eine Maske aktivieren bzw. deaktivieren.

In älteren Versionen gehen Sie zur Anpassung der Parameter wie nachfolgend beschrieben vor.
Weiter unten finden Sie Hinweise, um eigene Schaltflächen zu definieren.

Um die aus der Software generierten Schaltflächen teilweise auszublenden, steht Ihnen innerhalb der WSL-Tags ein functions-Bereich zur Verfügung. Sollte dieser in Ihrem Projekt nicht gesetzt sein, können Sie die aktuellen Definitionen immer der aktuellsten BASE entnehmen.

Jede Schaltfläche kann über ein eigenes function-Tag ausgeblendet werden. Aus dem id-Wert (z.B. id="projectConfig" für "Projekteinstellungen") ergibt sich die damit verbundene Schaltfläche. Um eine Schaltfläche auszublenden, setzen Sie den Wert des active-Attributes auf "0". Andernfalls wird die betreffende Schaltfläche angezeigt, also auch, wenn das function-Tag nicht definiert ist. Um eine Schaltfläche z.B. nur für Pflegebenutzer auszublenden, können Sie z.B. auf WSL-Tags zurückgreifen, z.B.:

<wsl:ifIsUserStandard><function id="googleKeywordTool" active="0"/></wsl:ifIsUserStandard>

Die Reihenfolge der function-Tags spielt für die Position der Schaltflächen übrigens keine Rolle, da diese aus der Software heraus entsprechend angeordnet werden.

Beispiel: Seiteninfo (siteinfo) ausblenden

Die Seiteninfo wird in aktuellen Versionen softwareseitig im Panel eingebunden. Sie können aber auch diese ausblenden, wozu Sie lediglich den Container für den Panel-Punkt über CSS ausblenden:

#wglBePanelSiteinfo {display:none}

Dies können Sie entweder in der globalen CSS-Datei vornehmen, oder Sie setzen dies z.B. über die Portalinhalte über das Weblic®/Element "CSS einbinden". Über die Portalinhalte könnten Sie so z.B. auch mit bedingten Containern für z.B. Benutzer und Gruppen arbeiten, um den Punkt Benutzer- oder Gruppen abhängig auszublenden.

Zusatz-Informationstexte ausblenden

Um die Zusatzinfos in den einzelnen Layern auszublenden, setzen Sie das showInfos-Attribut des WSL-Tagreferenz - bePanel Tags auf den Wert "0".

Eigene Schaltflächen definieren

Allgemein

Um eigene Schaltflächen im Panel einzubinden, steht Ihnen innerhalb der WSL-Tags ein extendedHTML-Bereich zur Verfügung. Sollte dieser in Ihrem Projekt nicht gesetzt sein, können Sie die aktuellen Definitionen immer der aktuellsten BASE entnehmen.

Für jeden Bereich des Panels steht innerhalb des extendedHTML-Blocks ein eigenes DIV-Tag mit entsprechender Sektionsangabe (z.B. section="content.page") zur Verfügung. Innerhalb dieses DIV-Tags können Sie eigene Texte und Buttons setzen (siehe folgendes Beispiel).

Beispiel 1: Eigene Schaltfläche für Aufruf der Datei für die Kontaktinformationen

// 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 2: Eigene Schaltfläche für Projektauswahl (Pflegebenutzer)

// 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&#160;</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>
...

Hinweis

Sie befinden sich in der Online-Dokumentation einer älteren CMS-Version!