Table des matières
- Introduction au développement d'extensions eZ Publish
- What are eZ Publish extensions ? -- Qu'est-ce que les extensions eZ Publish ?
- Creating a new extension -- Créer une nouvelle extension
- Configuring and enabling the extension -- Configurer et activer l'extension
- Activating the extension -- Activer l'extension
- Template system -- Le système de templates
- Creating a view -- Créer une vue
- Accessing the database -- Accéder à la base de données
- Template fetch function -- Fonction de recherche pour template
- Template operators -- Les opérateurs de templates
- INI file -- Le fichier INI
- Conclusion
What are eZ Publish extensions ? -- Qu'est-ce que les extensions eZ Publish ?
Date de publication: le samedi 20 août 2011 à 09h24
Dernière modification: par Pascal BOYER le lundi 28 novembre 2011 à 10h09
Before talking about the example extension, I will explain the concept of extensions and talk about the structure of extensions.
Avant d'aborder le cas particulier de notre exemple, je vais expliquer les concepts des extensions et préciser leur structure.
An extension provides additional functionality (or extends existing functionality) in eZ Publish. It is called an extension because it plugs in to the eZ Publish core without requiring modifications to the original files. By placing new functionality in an extension, you can upgrade the eZ Publish version without affecting the extension.
Une extension a pour objectif de fournir de nouvelles fonctionnalités à eZ Publish (ou bien d'enrichir celles déjà existantes). Une extension est ainsi nommée car elle se connecte au cœur d'eZ Publish sans qu'il soit nécessaire de modifier les fichiers originaux. Par ailleurs, placer de nouvelles fonctionnalités dans une extension offre l'avantage de permettre la mise à jour d'eZ Publish sans que cela n'affecte l'extension.
Some examples of what you can do with extensions:
Voici quelques exemples de ce que vous pouvez réaliser grâce aux extensions:
-
save the design of a website / siteaccess
sauvegarder le design d'un site web / siteaccess -
create custom modules with new views and template fetch functions
créer des modules personnalisés contenant de nouvelles vues et de nouvelles fonctions de recherche (les fonctions fetch). -
extend the template system with custom template operators
enrichir le système de template avec des opérateurs de templates -
program new workflow events, datatypes or login handlers
programmer de nouveaux événements de workflow, de nouveau datatypes ou de nouveaux gestionnaires de connexion.
Extensions in eZ Publish usually adhere to a standard directory structure, as outlined in Table 1 below.
Les extensions d'eZ Publish respectent habituellement une structure/arborescence de répertoires standard que présente de tableau ci-dessous:
|
Extension subdirectory Arborescence d'une extension | Description |
|---|---|
| actions/ |
New actions for forms Nouvelles actions pour les formulaires |
| autoloads/ |
Definitions of new template operators Définitions des nouveaux opérateurs de template |
| datatypes/ |
Definitions for new datatypes Définitions des nouveaux datatypes |
| design/ |
Files (*.tpl, *.css, *.jpg, *.js ...) related to the design Les fichiers ( *.tpl, *.css, *.jpg, *.js ...) liés au design |
| eventtypes/ |
Custom workflow events Les événements de workflow personnalisés |
| modules/ |
One or more modules with views, template fetch functions, and so on Un ou plusieurs modules avec leurs vues, les fonctions de recherche (fetch), etc... |
| settings/ |
Configuration files (*.ini, *.ini.append.php) Les fichiers de configuration (*.ini, *.ini.append.php) |
| translations/ |
Translation files (*.ts) Les fichiers de traduction (*.ts) |
Table 1: Standard directory structure of an eZ Publish 4.x extension
Tableau 1: Arborescence standard d'une extension d'eZ Publish 4.x
The directory structure shown above is only an example. The actual directory structure you use depends on the type of extension. Some directories may not be necessary. For example, a Template Operator extension only requires the directories autoloads/ and settings/; in a module extension, only the directories modules/ and settings/, and maybe a design/ directory, are required.
La structure de l'arborescence présentée ci-dessus n'est qu'un exemple. Celle que vous utiliserez dépendra du type de votre extension et certains répertoires s'avèreront peut-être inutiles. Une extension produisant un Opérateur de Template ne requière, par exemple, que les répertoires autoloads/ et settings/ alors que pour une extension produisant un nouveau module, seuls les répertoires modules/, settings/ et peut-être design/ seront requis.
Commentaires














