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

Kochbuch

Durchgearbeitete Beispiele für die häufigen Aufgaben beim Aufbauen auf Exponential, vom Erweiterungsgerüst über einen eigenen Datentyp und einen Cronjob bis zum Deployment mit Velocity, jeweils am Code dieser Version…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/examples/cookbook/README.md

On this page

This page is a translation. Read the English original

Kochbuch

Jede Seite des Kochbuchs baut eine Sache von Anfang bis Ende: die Dateien, die Sie schreiben, die Einstellungen, die sie aktivieren, den Befehl, der sie prüft, und das, was am häufigsten schiefgeht. Die Seiten bauen über eine Beispielerweiterung, expexample, aufeinander auf, sodass der Code einer Seite auf der nächsten weiterverwendet wird. Lesen Sie zuerst Ein Erweiterungsgerüst, wenn Sie noch nie eine Erweiterung erstellt haben.

Jedes Beispiel wurde anhand des Codes dieser Version geschrieben und geprüft, wo das mit wenig Aufwand möglich ist: PHP-Dateien mit php -l, Templates mit bin/php/eztemplatecheck.php, XML-Dateien mit xmllint. Jede Seite nennt, was geprüft wurde, und führt die Quelldateien auf, aus denen sie abgeleitet ist. Nichts davon wurde gegen eine Produktivdatenbank ausgeführt; probieren Sie jedes Beispiel zuerst an einer Kopie Ihrer Website aus.

Die Rezepte

AufgabeSeiteWas sie berührt
Eine eigene Erweiterung beginnenEin Erweiterungsgerüstextension/<name>/, ezinfo.php, extension.xml, composer.json, ActiveExtensions[], das Autoload-Array
Eine Inhaltsklasse anlegenEine Inhaltsklasse anlegenSetup > Klassen, oder eZContentClass und eZContentClassAttribute in einem Skript
Ändern, wie eine Seite oder Klasse aussiehtEin Template-Overrideoverride.ini.append.php, design/<design>/override/templates/, der Override-Cache
Einen Template-Operator hinzufügenEin eigener Template-Operatorautoloads/eztemplateautoload.php, [TemplateSettings] ExtensionAutoloadPath[]
Eine Seite mit eigener Adresse und Richtlinie hinzufügenEin eigenes Modul mit Ansichtmodules/<module>/module.php, module.ini [ModuleSettings], $FunctionList, Rollen und Richtlinien
Eine neue Art von Feld speichernEin eigener Datentypdatatypes/<type>/<type>type.php, content.ini [DataTypeSettings], die Templates des Datentyps
Code ausführen, wenn Inhalte veröffentlicht werdenEin Workflow-Ereigniseventtypes/event/<type>/, workflow.ini [EventSettings], Setup > Workflows und Auslöser
Code nach Zeitplan ausführenEin Cronjobcronjobs/, cronjob.ini [CronjobSettings] und [CronjobPart-<part>], die Crontab
Inhalte als JSON aus einem Skript oder dem Browser lesenREST- und JSON-Aufrufeezjscore-Serverfunktionen, ezjscore.ini [ezjscServer_<name>], die REST-API unterhalb von /api/
Mehrere Websites aus einer Installation bedienenMehrere Websites: Siteaccessessite.ini [SiteAccessSettings], settings/siteaccess/<name>/, VarDir, CacheVarDir
Die Texte einer Erweiterung übersetzenÜbersetzungentranslations/<locale>/translation.ts, ezpI18n::tr(), |i18n, TranslationExtensions[]
Seiten schnell machen und aktuell haltenCachingder View-Cache, cache-block, ezcache.php, der Response-Cache von Velocity
Eine PHP-Änderung live schaltenDeployment mit Velocityexp:velocity deploy und seine Schritte
Was Sie einrichten, zu einer Migration machenEine Sitzung aufzeichnenexp:migration:record:*, Setup > Migrationen > Aufzeichnung, exp:migration:generate --from-recording

Die Beispielerweiterung im Überblick

extension/expexample/
├── ezinfo.php                         what the extension is (Setup > About, Setup > Extensions)
├── extension.xml                      the same, read first; the same version number
├── composer.json                      when it is installed with Composer
├── autoloads/                         template operators (custom-template-operator.md)
├── classes/                           classes found through the autoload array (rest-json-fetch.md)
├── cronjobs/                          cronjob scripts (cronjob.md)
├── datatypes/expcolor/                a datatype (custom-datatype.md)
├── eventtypes/event/explogpublish/    a workflow event (workflow-event.md)
├── modules/expexample/                a module with two views (custom-module-view.md)
├── design/standard/templates/         its templates; design/standard/javascript/ its scripts
├── translations/ger-DE/               its German texts (translations.md)
└── settings/                          *.ini.append.php: what switches each part on

Die Namen folgen der Konvention des Projekts für neuen Code: Die Erweiterung, ihr Modul und ihre Klassen beginnen mit exp (expexample, expExample...), niemals mit ez.

Referenzmaterial

Das Kochbuch zeigt, wie es geht; die Referenzbereiche listen auf, was es gibt, aus dem Code erzeugt:

Die Programmierregeln und der Musterkatalog (wie Code, Templates und Dokumentation in diesem Projekt geschrieben werden) stehen in den Standards; das Kochbuch folgt ihnen und wiederholt sie nicht.

Verwandte Seiten

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