Archive pour le ‘eZ publish’ catégorie

eZ Publish : créer une classe de contenu perso

21 septembre 2012

Créer une nouvelle classe de contenu

Dans l’interface administration, cliquez sur l’onglet Administration, puis sur Classes et sélectionnez dans Groupes de classes le type Content


eZ publish : creer une classe de type Content
Cliquez ensuite sur le bouton Nouvelle classe.

Formulaire de création

Pour l’exemple, nous allons créer une classe Distribution, pour référencer des distributions Linux.

Dans le formulaire, saisissez :

Nom Distribution
Identifiant distribution


formulaire-classe-ez-publish
Puis, ajoutons quelques attributs (en bas à droite, vous pouvez choisir le type de l’attribut, puis cliquez sur Ajouter l’attribut)

Type Nom Identifiant Options
ligne de texte Nom de la distribution nom Obligatoire/Interrogeable
Image Logo logo
Bloc texte Description description Interrogeable

Exemple, pour l’attribut Nom de la distribution :


créer un attribut de classe eZ Publish
Enfin, validez votre nouvelle classe.

Enregistrer une nouvelle distribution

Rendez-vous dans l’onglet Contenus, cliquez sur créer un nouvel élément, dans la liste vous trouverez maintenant Distribution ;).
Remplissez tout simplement les champs. Exemple : Ubuntu, Fedora, Debian, IpCop… Pour le logo et la description, un petit tour sur Wikipédia par exemple 😉

Associer un template à notre classe

Pour info : ma configuration eZ Publish, correspond au tuto Extension de surchage de design

Créer un nouveau template pour la vue full

Créez un fichier distribution.tpl dans le répertoire [repertoire-install-eZ]/design/base/override/templates/ dont le contenu sera :

[cc lang= »html » width= »100% »]

{$node.data_map.nom.content}

{if $node.data_map.logo.has_content}
{attribute_view_gui attribute=$node.data_map.logo alignment=left}
{/if}

{if $node.data_map.description.has_content}
{$node.data_map.description.content}
{/if}
[/cc]
Comme vous pouvez le remarquer, l’accès aux différentes valeurs de nos attributs se fait par
$node.data_map.NOM-DE-L-ATTRIBUT

Associer notre vue à la classe Disribution

Ouvrez le fichier override.ini.append.php qui se trouve dans le dossier de votre siteaccess, pour moi : [repertoire-install-eZ]/settings/siteaccess/fre/
Et ajoutez y :
[cc lang= »html » width= »100% »]
[Distribution]
Source=node/view/full.tpl
MatchFile=full/distribution.tpl
Subdir=templates
Match[class_identifier]=distribution
[/cc]
Ainsi, on associe le template distribution.tpl à la classe qui a pour identifiant distribution.

Vider le cache

N’oubliez pas de vider le cache pour voir le résultat.

Ez Publish – créer une extension pour surcharger le design

19 septembre 2012

Pour modifier le design d’eZ publish, vous pouvez créer une extension pour surcharger le design (pratique pour le réutiliser facilement par la suite).

Créer une extension eZ publish

Commencez par créer un nouveau dossier nommé mondesign dans le répertoire extension (à la racine de votre installation eZ publish).

Hiérarchie de l’extension

Reproduisez cette hiérarchie de dossiers

  • mondesign
    • design
      • mondesign
        • stylesheets
        • images
        • templates
    • settings

monstyle.css

Créez le fichier monstyle.css dans le répertoire stylesheets
[cc lang=’css’ width=’100%’]

body{
background : red;
}

[/cc]

Oui, le but n’est pas de faire joli ! juste de vérifier que ça fonctionne 😉

design.ini.append.php

Dans le répertoire settings, créez le fichier design.ini.append.php contenant :

[cc lang=’php’ width=’100%’]
< ?php /* [ExtensionSettings] DesignExtensions[]=mondesign [StylesheetSettings] SiteCSS=extension/mondesign/design/mondesign/stylesheets/monstyle.css */ ?>
[/cc]

Déclarez votre extension à eZ publish

Ouvrez le fichier [répertoire_installation-eZ-publish]/settings/override/site.ini.append.php

NB : Attention, il s’agit bien du dossiers settings qui est à la racine du site, pas celui que vous avez créé dans votre extension.

Recherchez la partie [ExtensionSettings] dans ce dossier et ajoutez  ActiveExtensions[]=mondesign avant ezwebin. Vous obtiendrez donc quelque chose du genre :

[cc lang=’php’ width=’100%’]
[ExtensionSettings]
ActiveExtensions[]
ActiveExtensions[]=mondesign // notre design est ici
ActiveExtensions[]=ezwebin
[/cc]
La ligne ActiveExtensions[]=ezwebin est optionnelle, si vous voulez garder la trame ezwebin, laisez là.

site.ini.append.php

Ouvrez le fichier [répertoire_installation-eZ-publish]/settings/siteaccess/fre/site.ini.append.php et modifiez le bloc [DesignSettings]
pour obtenir
[cc lang=’php’ width=’100%’]
[DesignSettings]
SiteDesign=mondesign
AdditionalSiteDesignList[]=ezwebin
AdditionalSiteDesignList[]=base
[/cc]

Videz le cache

Vous devez maintenant vider le cache, pour voir le résultat.
Connectez vous à l’interface admin et cliquez sur vider tous les caches dans l’onglet administration.
Voilà, si tout est ok, vous devriez avoir un fond rouge (moche, j’en conviens) qui signifie que vous avez bien surchargé la CSS.

Désactiver le cache eZ publish

Si vous voulez désactiver le cache pendant la phase de développement (pas en prod. bien entendu ;))

Modifiez le fichier [répertoire_installation-eZ-publish]settings/override/site.ini.append.php
[cc lang=’php’ width=’100%’]
[OverrideSettings]
Cache=disabled

[ContentSettings]
ViewCaching=disabled
PreviewCacheUsers=disabled
PreViewCache=disabled

[TemplateSettings]
TemplateCache=disabled
TemplateCompile=disabled
NodeTreeCaching=disabled
Debug=disabled
ShowXHTMLCode=disabled
ShowUsedTemplates=enabled
[/cc]