Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Stylesheets und Skripte

Fügen Sie Ihr CSS und JavaScript auf die Art von Exponential hinzu - Listen in design.ini, ezcss_load und ezscript_load, der Packer von ezjscore, Cache-Busting und eine Website, die für eine Content Security Policy…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/website-creators/stylesheets-and-scripts.md

On this page

This page is a translation. Read the English original

Stylesheets und Skripte

Diese Seite richtet sich an Website-Ersteller, die einem Design ihr eigenes CSS und JavaScript hinzufügen. In Exponential werden diese Dateien nicht von Hand im Pagelayout verlinkt: Sie werden in design.ini aufgeführt und vom Packer von ezjscore geladen, der sie zusammenfasst, minimiert und jeder Version einen eigenen Dateinamen gibt.

Inhalt

  1. Die Listen in design.ini
  2. Sie im Pagelayout laden
  3. Der Packer
  4. Nach einer Änderung
  5. Skripte, die unter einer Content Security Policy funktionieren
  6. Checkliste

Die Listen in design.ini

In Ihrer Design-Erweiterung, settings/design.ini.append.php:

<?php /* #?ini charset="utf-8"?
[ExtensionSettings]
DesignExtensions[]=mysite_design

[StylesheetSettings]
CSSFileList[]=main.css
CSSFileList[]=print.css

[JavaScriptSettings]
JavaScriptList[]=ezjsc::jquery
JavaScriptList[]=main.js
*/ ?>
EinstellungEnthält
[StylesheetSettings] CSSFileList[]Stylesheets, gefunden in stylesheets/ der Design-Kette
[StylesheetSettings] FrontendCSSFileList[]weitere Stylesheets für die öffentliche Website
[JavaScriptSettings] JavaScriptList[]Skripte, gefunden in javascript/ der Design-Kette
[JavaScriptSettings] FrontendJavaScriptList[]weitere Skripte für die öffentliche Website

ezjsc::jquery ist das eigene jQuery von ezjscore, Sie liefern also keine Kopie mit. Das mitgelieferte Theme simple ist ein echtes Beispiel: extension/sevenx_themes_simple/settings/design.ini.append.php.

Sie im Pagelayout laden

{ezcss_load( array( ezini( 'StylesheetSettings', 'CSSFileList', 'design.ini' ),
                    ezini( 'StylesheetSettings', 'FrontendCSSFileList', 'design.ini' ) ) )}
...
{ezscript_load( array( ezini( 'JavaScriptSettings', 'JavaScriptList', 'design.ini' ),
                       ezini( 'JavaScriptSettings', 'FrontendJavaScriptList', 'design.ini' ) ) )}

Ein Template, das für sich selbst eine weitere Datei braucht, fordert sie mit {ezcss_require( 'gallery.css' )} oder {ezscript_require( 'gallery.js' )} an; ezcss_load/ezscript_load im Pagelayout bindet sie dann ein. Die vier Funktionen sind in extension/ezjscore/autoloads/ezjscpackertemplatefunctions.php definiert.

Der Packer

Der Packer wird in extension/ezjscore/settings/ezjscore.ini eingestellt:

EinstellungBedeutung
[eZJSCore] Packerfolgt normalerweise [TemplateSettings] DevelopmentMode; setzen Sie disabled oder eine Stufe von 0 bis 3, um ihn zu erzwingen
[Packer] AppendLastModifiedTime=enableddie Änderungszeit der Datei ist Teil des Namens der gepackten Datei, sodass Browser nach einer Änderung eine neue Kopie holen
[Packer] CustomHosts[.css], [.js]gepackte Dateien von einem anderen Host ausliefern
JavaScriptOptimizer[], CssOptimizer[]die Minimierer

Mit eingeschaltetem Packer verlinkt die Seite eine zusammengefasste Datei je Liste; ausgeschaltet (Entwicklung) jede Datei einzeln, was die Fehlersuche erleichtert.

Nach einer Änderung

Weil gepackte Dateien und die Cache-Blöcke des Pagelayouts sich die alten Dateinamen merken, braucht eine Änderung an einem Stylesheet:

php bin/php/ezcache.php --clear-id=ezjscore-packer --allow-root-user
php bin/php/ezcache.php --clear-tag=template --allow-root-user
php bin/php/ezcache.php --clear-id=template-block --allow-root-user

Laden Sie die Seite dann vollständig neu (Hard Reload). Hängen Sie kein ?v=... an Links an; die Änderungszeit im Dateinamen erledigt das bereits.

Skripte, die unter einer Content Security Policy funktionieren

Die mitgelieferte Policy erlaubt, wenn Sie sie für eine Website einschalten, nur Skript- und Stylesheet-Dateien der Website selbst (script-src 'self', style-src 'self'): kein Inline-Code in <script>, keine Attribute on...=, kein style="" (Content Security Policy). Schreiben Sie die Website von Anfang an so:

StattSchreiben Sie
<a onclick="openGallery()"><a class="js-gallery"> und addEventListener in main.js
<script>var root = "...";</script>einen Datenblock <script type="application/json">, den main.js liest (Das Pagelayout)
<div style="width: 40%">eine CSS-Klasse oder ein data-*-Attribut, das Ihr Skript liest
ein Skript von einem anderen Hosteine Kopie in Ihrem Design oder AdditionalSources[]=script-src https://<host> in [ContentSecurityPolicy]

Checkliste

  • To do: Jede CSS- und JS-Datei ist in design.ini aufgeführt, keine ist von Hand verlinkt.
  • To do: Keine Inline-Skripte, keine Attribute on... und kein style="" in Ihren Templates.
  • To do: Der Packer ist für den Produktivbetrieb eingeschaltet (DevelopmentMode aus).
  • To do: Nach einer Änderung: Packer-, Template- und Template-Block-Caches geleert, Hard Reload.
  • To do: Skripte und Schriften von Drittanbietern sind auf Datenschutz geprüft und in der Policy erlaubt.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x