WebsiteBaker 2.13.8 is now available!
R.I.P Dietmar (luisehahne) and thank you for all your valuable work for WBhttps://forum.websitebaker.org/index.php/topic,32355.0.html
@charset "utf-8 ";@import url("themes/default/css/default.css");
<script> /* inserted by header.htt {WB_VERSION} */ var WB_URL = '{WB_URL}'; var WB_REL = '{WB_REL}'; var THEME_URL = '{THEME_URL}'; var THEME = '{THEME}'; var TEMPLATE = '{TEMPLATE}'; var LANGUAGE = '{LANGUAGE}'; var ADMIN_URL = '{ADMIN_URL}'; var EDITOR = '{EDITOR}'; var LANGUAGE = '{LANGUAGE}'; var SECTION_NAME = '{SECTION_NAME}'; var isBootstrap = true; </script> <style> :root { --backend-theme: '{THEME}'; } </style>
@charset "utf-8 ";@import url("themes/var(--backend-theme)/css/default.css");
When I change backend theme to NewBackendTheme, and MyModule is in use,it still loads css from MyModule/themes/default/css/default.css instead MyModule/themes/NewBackendTheme/css/default.css
<script> /* inserted by modify.twig */ var {{ ADDONNAME }} = { WB_URL : "{{ WB_URL }}", AddonUrl : "{{ ADDONURL }}/", AddonThemeUrl : "{{ MODULE_THEME_URL }}",......
$(document).ready(function() { $.insert(WBMEMBERS.AddonThemeUrl + "/css/backend_default.css");
'ADDON_NAME' => strtolower($sAddonName), 'ADDONNAME' => strtoupper($sAddonName),
// Load css / js files from theme files $sPath = $sAddonThemePath.'/*{css,js}/*.{css,js}'; $aFiles = glob($sPath, GLOB_BRACE); $aThemeScripts = []; foreach ($aFiles as $sFilePath) { if (\is_readable($sFilePath)) { $aThemeScripts[] = str_replace($oReg->AppPath, $oReg->AppUrl, $sFilePath); } } $aTplData['THEME_SCRIPTS'] = json_encode($aThemeScripts);
<script> (function() { "use strict"; let aThemeScripts = {{ THEME_SCRIPTS }}; if (aThemeScripts){ let createScript = (url) => { return new Promise(function(resolve, reject) { let scriptData; if (url.endsWith('.js')) { scriptData = document.createElement('script'); scriptData.type = 'text/javascript'; scriptData.async = false; scriptData.src = url; } if (url.endsWith('.css')) { scriptData= document.createElement('link'); scriptData.href = url; scriptData.type = 'text/css'; scriptData.rel = 'stylesheet'; } scriptData.onload = () => { resolve(url); }; scriptData.onerror = () => { reject(url); }; document.body.appendChild(scriptData); }); }; let aScript = aThemeScripts; let promiseData = []; aScript.forEach(function(url) { promiseData.push(createScript(url)); }); Promise.all(promiseData).then(function() { // console.log('The required scripts are loaded successfully!'); }).catch(function(sData) { // console.log(sData + ' failed to load!'); }); } })();</script>