Volltextsuche
Externe Inhalte über Iframe einbinden
genannten Weblics® über die Weblics® Verwaltung: HTML einbinden bzw. einbetten bzw. Externe Inhalte über Iframe einbinden Dieser ermögliche Ihnen das Einbetten externer Inhalte an gewünschter Stelle Ihrer Webseite. Beispiele für
ifIsSearchBot
ifIsSearchBot Prüft, ob die aktuelle Seite von der Volltextsuche aufgerufen wird TAG Attribute Interger not Negiert das Ergebnis
ifIsDiffView
ifIsDiffView Prüft, ob die aktuelle Seite von der Versionsansicht aufgerufen wird TAG Attribute Interger not Negiert das Ergebnis
ifHasPermissionDocument
ifHasPermissionDocument Prüft, ob der aktuelle Benutzer ein bestimmtes Recht auf eine Datei hat. TAG Attribute [PATH] path * Pfad zur Datei
ifValue
ifValue Prüft auf einen Wert (ab Version 006.008.076.000) TAG Attribute String value * Wert String operator *
wMailer::sendMailStr
auf einem String Beispiel 2: Versand einer Text E-Mail basierend auf einem String und Abfrage von Platzhaltern (if) Beispiel 3: Versand einer HTML E-Mail basierend auf einem String Beispiel 4: Versand einer E-Mail mit Anhang basierend
ifIsLoggedIn
Prüft, ob der Benutzer eingeloggt ist.
ifDocumentExists
Prüft, ob ein Dokument (eine Seite) existiert.
ifIsAdminOrUserStandard
ifIsAdminOrUserStandard Prüft, ob der aktuelle Benutzer ein Redakteur oder ein Administrator ist. TAG Attribute Integer not Negiert das
ifGlobalValue
ifGlobalValue Prüft auf einen globalen Wert (ab Version 006.008.076.000) TAG Attribute String key * Schlüssel (Name) des globalen
Pflegemasken für Metadaten aus der Dokumentenerweiterung
" wEditorExtensionAreaInner "> 1){ $languageStr = ''; foreach($correspondentLanguageFiles as $language => $data){ if($data['available'] == 1 && $language != ''){ if($data['current'] != 1){ $languageStr .= ' class= " flag "
URL-Parameter über WSL oder XSL ermitteln
Am Beispiel des Veranstaltungskalenders zeigen wir Ihnen, wie Sie URL-Parameter im Zeilentemplate auslesen können.
Weblics® 2.x in BASE 1.x nutzen
Formulardaten über Platzhalter bedingt in der E-Mail ausgeben
cms formular e-mail mail formulardaten platzhalter placeholder bedingungen abfrage bedingter mailtext mailbody if #if Die über ein Formular zu verschickende E-Mail können Sie abhängig von den eingetragenen Formulardaten definieren.
Unerwünschte Aufrufe blockieren oder umleiten
Nur pageId1 bis pageId9 zulassen, sonst umleiten Beispiel: Auszug aus der pre.php // nach Include der grid.php setzen if( preg_match ( '/pageId\w\w+=/i' , $_SERVER [ 'QUERY_STRING' ])){ wResponse :: redirect ( $_SERVER [ 'SCRIPT_NAME' ],
Newsletter: Personalisierte Bedingungen nutzen
2020 newsletter personalisiert empfänger individuell abfrage bedingung platzhalter placeholder bedingungen bedingter if #if mailtext mailbody Steuern Sie die Ausgabe einer Newsletter E-Mail abhängig von den Empfängerdaten. Ab der Version
HTML Meta-Daten setzen und pflegen
für Google oder Facebook setzen. Diese Meta-Informationen können Sie entweder für alle Seiten ausgeben (ohne if-Abfrage) oder nur bei Seiten, bei denen entsprechende Werte gesetzt sind (mit if-Abfrage umschlossen). Auf ein Beispiel
Navigationspunkte unterschiedlich darstellen
Überlassen Sie es dem Redakteur, einzelne Navigationspunkte über ausgewählte Klassen anders darzustellen.
So fragen Sie den Wert einer Variablen ab
Variablen ab Veröffentlichungsdatum: 05. Februar 2010 Änderungsdatum: 10. April 2017 variable wVariables abfragen if bedingung Dieser Artikel beschreibt, wie Sie den Wert einer Variable aus den globalen Variablen eines Projektes
Umsetzung einer Internetpräsenz für mobile Endgeräte in älteren Projekten
zu skalieren wMyProject :: adaptMobileWidth (); // Variablen der Steuerungsdatei $preVars = array(); // Ansichtsmodus if( wEnv :: getGlobalValue ( 'wViewMode' ) == 'mobile' ){ $preVars [ 'viewMode' ] = 'mobile' ; $preVars [
Sicherheit: X-Frame-Options Header gegen Clickjacking
Header gegen Clickjacking Veröffentlichungsdatum: 12. Mai 2020 Änderungsdatum: 04. Februar 2022 weblication cms iframe frame embed object layer antwortheader header kopfzeilen x-frame-options sameorigin Über eine Einstellung in den HTTP
X-Frame-Options - Schutz vor Clickjacking
2023 Projektgrundlage: BASE Über einen Header-Eintrag kann verhindert werden, daß Ihre Webseite in einem Frame oder iFrame auf externen / fremden Webseiten dargestellt werden kann. Hierzu bedient sich die BASE der X-Frame-Options Einstellung
So geben Sie Listeninhalte in der Navigation aus
= 'cacheIdCallback']/text() "/> $elementId = ' select= " @uid "/> '; $listId = substr($elementId, 0, 8); //if(isset($GLOBALS['wTmp']['listIds'][$listId])){ // $listId = substr(md5(rand(0, 999999)), 0, 8); //}
OpenStreetmap - Marker über Listeneinträge hervorheben
map = null ; var popupContents = null ; var mapMarker = jQuery ( '.mapMarkerPopup' ); for (var variableName in window ) { if ( window . hasOwnProperty ( variableName ) && variableName . startsWith ( 'mapObject' )) { map = window [
Anwendungsbeispiel: Formular über mehrere Seiten mit Übergabe der Werte über Session
]-> value = $values [ 'email' ]; // ENDE Formular 1: Nach dem Absenden auszuführendes Skript (serverEventOnSubmit) if( wRequest :: getParameter ( "wFormAction" ) == "reset" ){ $this -> reset (); // Werte der gewünschten Formularfelder
Responsive Toggler-Navigation anpassen
{ class: mediaquerySize; variant: max768; caption: wenn die Fensterbreite kleiner gleich 768 Pixel ist; caption-en: if window width is equal or less 768 pixel;} */ @media only screen and ( max-width: 768px) { .max768 { display: none
Wasserzeichen / Copyright in Bilder setzen
AG" $pathAdapted = preg_replace ( '/\.([^\.]+)$/' , '-a.$1' , $path ); $textMarginRight = 10 ; $textMarginBottom = 0 ; if( $options [ 'fontcolor' ] == '' ){ $fontcolorVal = self :: hex2rgba ( '#000000' ); } else { $fontcolorVal = self ::
Beispiele für XSL-Abfragen über Systemparameter etc
Über XSL-Templates lassen sich vielfältig Abfragen über z.B. Systemparameter und sonstige beliebige Parameter zur Ausgabe steuern.
Links / Querverweise über Lightbox
"> ... test= " php:functionString('wVariables::getValue', 'lightbox_type', $wGlobalProjectPath) = 'wLightbox' "> [if lt IE 9] rel= " ]]> "color:#0000BB"> select= " $wGlobalProjectPath " /> [endif] [if lt IE 9] type= "
Pflegemasken für Binärdateien
= document.getElementById('webtag_text_ select= " /wd:document/wd:extension/wd:meta/wd:title/@wEditorId "/> '); //if(inputTitle){ //
Telegram Messenger mit Weblication verbinden
=> $botToken )); $callbackProcessMessage = function( $webhook , $message ){ $chat_id = $message [ 'chat' ][ 'id' ]; if(isset( $message [ 'text' ])){ $text = $message [ 'text' ]; if( strpos ( $text , "/start" ) === 0 ) { $webhook ->
Nutzung von SSL-Zertifikaten für HTTPS-Aufruf
, '' , '/[IHR-LAYOUT-PROJEKT]/wGlobal/content/variables/default.wVariables.php' , 'wDoNotAdd' ) == '1' ? true : false ; if( wUserCur :: getName () == '' ){ // Umleitung für Hauptverzeichnisaufrufe (Hauptverzeichnis "ausblenden") direkt nach
Lottie-Files: Player pausieren
//////////////////////////////////////////////////////////////// setEventPauseLottiePlayer = function(id, pauseAtFrame){ if(jQuery('div[id=' + id + '] lottie-player').length == 1){ var lottiePlayer = jQuery('div[id=' + id + ']
Kontextmenüs und Schaltflächen im Dateiexplorer anpassen
//console.log(selectionData['content']); // Schaltfläche für Verzeichnis erstellen im Kontextmenü ausblenden //if(wFilemanager.path == '/wDeutsch/xxx'){ // wFilemanager.wRemoveContextMenuFunction('createDir'); //}
Grafiken in Relation von der Höhe mit clip-path beschneiden
var cO = bezierObjects [ key ]; // Überprüfen, ob ein entsprechendes Bild-Element auf der Seite gefunden wurde if( cE . length > 0 ){ // Ermitteln der aktuellen Breite des Bild-Elements var newWidth = cE . width (); // Ermitteln
Inhalte nur im Editor einbinden
CSS-Datei. Diese wird dann eingebunden, wenn sich ein Pflegebenutzer im Editor befindet. Über ein XSL-Element ( xsl:if ) fragen Sie auf die Variable " wIsInEditor " ab und binden dann im Editor eine eigene CSS-Datei (z.B. editor.css ) ein.
Sicherheit erhöhen: Download sensibler Daten
daß bei z.B. Einsatz eines Apache 2.4 die "neue" Definition funktioniert und das Modul # vorhanden ist, kann auf die IfModule Abfrage verzichtet werden und direkt die Require-Definition angegeben werden! Bedenken Sie, daß IP-Schutz über
So setzen Sie ein Pflegeformular für öffentliche Benutzer um
= function(pathFile){ console.log(pathFile); var inputFieldWithValue = jQuery('input[value="' + pathFile + '"]'); if(inputFieldWithValue){ inputFieldWithValue.val(''); } }; style= " " path= "
Cache aller verfügbaren Weblication Projekte leeren
(Contentverzeichnisse) der Installation <?php require_once $_SERVER [ 'DOCUMENT_ROOT' ] . '/weblication/grid.php' ; if( wUserCur :: getType () !== 'admin' ) { exit(); } $dirs = wRepository :: getSubdirsDir ( '' ); if( !empty( $dirs ) ) {
Individuelle Verzeichnisse per ZIP / PHP / BASH komprimieren
Ausschluss frei definierbarer Pfade zu komprimieren require_once( $_SERVER [ 'DOCUMENT_ROOT' ] . '/weblication/grid.php' ); if( wUserCur :: getType () !== 'admin' ) { exit( 'noPermission' ); } // Zu sicherndes Verzeichnis $project = 'base-wAssets'
Bereichsnavigation - Navigation nur beim Hochscrollen Anzeigen
der Klasse wglKeepInsideTopOnScroll, die für die Funktion wKeepInsideTopOnScroll das Ausgangselement "markiert". */ if( wUiTmp [ 'lastScrollStatus' ] == 'scrollup' ){ jQuery ( '.wglKeepInsideTopOnScrollTop' ). addClass (
Manuelles Nachrüsten der 16er Statistik in älteren Projekten (z.B. BASE Classic)
der Seite // //////////////////////////////////////////////////////////////// jQuery(document).ready(function(){ // ... if(typeof wEditor === 'undefined'){ if(typeof wUiTmp['wHasWa'] !== 'undefined' && wUiTmp['wHasWa']){
wWorkflow::initWorkflow
Workflow der Datei, falls davon eine Arbeitskopie existiert Quelltext <?php $documentPath = "/IhrProjekt/datei.php" ; if( wWorkflow :: isInWorkflow ( $documentPath )){ print "Die Datei befindet sich in einem Workflow!" ; } else{ wWorkflow ::
Objekt-Daten mit verschachtelter XML-Struktur ersetzen
= '/wd:document/wd:extension/wd:object/wd:data[@id="classes"]' ; $classesNodeList = $xpath -> query ( $classesQuery ); if( $classesNodeList -> length === 1 ) { $classesNode = $classesNodeList -> item ( 0 ); $entryNodeList = $xpath ->
-w-editmaskExtended-ifvisible
wenn im sichtbaren Bereich' zur Inhaltsbox-Variante 111 .elementBox_var111 { /* ... */ ; -w-editmaskExtended-ifvisible: yes} Inhaltsbox Variante 111 - Einblendeffekt Zu beachten: Diese CSS-Only Referenz bezieht sich vorwiegend auf BASE
wUserCur::getAlertsJs
Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/scripts/pre.php // ... // Hier wird die Seite ausgegeben $alertsJS = '' ; if( method_exists ( 'wUserCur' , 'getAlertsJs' )){ $alertsJS = wUserCur :: getAlertsJs (); } if( $alertsJS != '' ){ print
wUserCur::getData
Beispiel: Beispiel 1: Gibt den Vornamen und Nachnamen des aktuellen Benutzers aus Quelltext <?php if( wUserCur :: getName () != '' ){ print ' Daten des Benutzers ' . wUserCur :: getName (). ': Vorname: ' . wUserCur ::
Abarbeitung der Skriptausführung bei der XSLT-Transformation
PHP in XSL-Stylesheets ausführen
wUserCur::getLanguage
Diese Funktion benötigt keine Parameter. Beispiel: Begrüßt den Benutzer in seiner Sprache Quelltext <?php if( wUserCur :: getLanguage () == 'de' ){ print 'Hallo ' . wUserData :: getData ( 'firstname' ). ' ' . wUserData :: getData
Framework
archiveFiles (1) Archiviert alle zur Archivierung vorgemerkten Dateien Array archiveFiles(String path = '', String ifExists = '') wBackup Klasse für Backups clearBackups (1) Löscht alte bzw. überflüssige Backups (verfügbar ab CMS-Version