août
2012
J’ai réussi à mettre eZ Publish dans un état instable. J’avais quelques objets sans nœuds associés, ce qui provoque des comportements bizarres. J’avais alors corrigé ma BDD à la main. Mais suite à la rédaction de cet article, Alexandre SEBBANE m’a fait remarqué la présence du script bin/php/flatten.php. Ce script a pour but de supprimer de la BDD les informations non utilisées. Il peut s’agir des contentobject, contentclass, workflow, role ou de tout. Pour nettoyer […]
septembre
2011
Sous eZ Publish, on peut afficher des traces de debug directement en front-office. Dans cet article je vous présente un petit Bookmarklet que j’ai fait pour améliorer leur rendu. Pour installer ce Bookmarklet, faîtes glisser ce lien dans votre barre de favoris : eZ Filter Debug Pour activer ce Bookmarklet, cliquez dessus lorsque vous êtes sur une page générée par eZ Publish avec les traces de debug activée Vous pouvez lire cette article, si vous […]
août
2011
Une petite astuce pour les traductions sous eZ Publish, on peut utiliser des paramètres. Par exemple, on est pas obligé de couper la traduction de « Plus que 3 exemplaires. » si la valeur 3 est dynamique. Vous pouvez utiliser dans votre template le code ci-dessous : {"Only %quantity left in stock."|i18n(‘shop’, , hash(‘%quantity’, $product.stock))} Et utiliser dans votre fichier de traduction, le code ci-dessous : <!DOCTYPE TS> <TS> <context> <name>shop</name> <message> […]
août
2011
Dans une template « classique », on a accès à la variable $view_parameters. Celle-ci contient les valeurs des paramètres personnalisés passés dans l’url. Par exemple pour l’url suivante : http://www.example.com/my/url/alias/(couleur)/vert/(prix)/34 On pourra accéder aux paramètres « couleur » et « prix » à l’aide de la variable $view_parameters : La couleur est : {$view_parameters.couleur} Le prix est : {$view_parameters.prix} Par contre, vous n’avez pas accès à $view_parameters dans une vue d’un module. Mais on peut quand même les récupérer à l’aide […]
août
2011
Voici un court tutoriel pour désactiver un module ou une vue dans eZ Publish. Ajouter dans le site.ini.append.php de votre siteaccess les lignes ci-dessous : [SiteAccessRules] Rules[] Rules[]=access;enable Rules[]=moduleall Rules[]=access;disable Rules[]=module;ezinfo Rules[]=module;user/register Ces lignes d’exemples permettent de désactiver le module « ezinfo » et la vue « user/register » pour un siteaccess donné. En espérant que ça puisse vous aider, Thomas.
août
2011
Il peut être pratique de réutiliser le code d’une vue de module eZ Publish à partir d’une autre page. Par exemple, pour ne pas dupliquer le code entre les requêtes directe et les requêtes AJAX. Vous pouvez utiliser le code ci-dessous pour récupérer le résultat de la vue « user/login » : $module = eZModule::findModule( "user"); $return = $module->run("login"); $content = $return[‘content’] En espérant que ça puisse vous aider, Thomas.
août
2011
eZ Publish dispose d’un moteur i18n ou d’internationalisation. 1. Presentation On peut l’utiliser dans les templates à l’aide de l’opérateur i18n() : {$string|i18n($context)} {‘The results’|i18n(‘search’)} Dans le ficher translations/fre-FR/translation.ts, on peut lui indiquer les valeurs en français : <!DOCTYPE TS> <TS> <context> <name>search</name> <message> <source>The results</source> <translation>Les résultats</translation> </message> </context> </TS> 2. Utiliser des sources en français Dans le sens anglais […]
août
2011
Pour les versions d’eZ Publish inférieur à 4.4.1, il fallait éviter de supprimer un utilisateur eZ Publish. Même supprimé, tous les contenus qu’il a publié lui font encore référence. Ceci pose quelques problèmes dans le Back Office d’eZ Publish. Par exemple, l’interface n’arrive plus à lister les sous-éléments. C’est pour cela qu’il valait mieux désactiver un utilisateur que le supprimer. Si c’est trop tard et qu’il est supprimé, comme ça m’est arrivé, on peut réparer […]
juillet
2011
Vous écrivez un script PHP pour eZ Publish et vous rencontrez l’erreur : « Missing operation definition file for module: content » C’est surement que vous avez oublié d’activer les modules dans la déclaration de votre script : <span style="color:#777;">// Initialisation</span> $script = eZScript::instance( array( ‘description’ => ‘Description of my script’, ‘use-session’ => false, <b>’use-modules’ => true</b>, ‘use-extensions’ => true, ‘debug-output’ => true, ‘debug-message’ => […]
juillet
2011
Quand on liste les nœuds dans eZ Publish, un peut limiter la recherche à certaines classes de contenus. Le seul problème c’est qu’il faut indiquer l’ « id » (numéro) des classes et on connaît plus souvent leur « identifier » (nom). En PHP on peut facilement passer de l’un à l’autre à l’aide du code suivant : $content_class_id = eZContentClass::classIDByIdentifier($content_class_name); Par contre, je ne connais pas d’opérateur de template qui permette de faire cette conversion. En espérant que […]