Sur un site multilingue, il peut arriver que nous ayons à générer du contenu dans une langue différente de celle du siteaccess courant. L'affichage dans une iframe d'un autre siteaccess ayant la langue recherchée n'est pas toujours le plus facile, notamment lorsqu'il s'agit de générer un template d'envoi de mail...
Pour nous faciliter la tache, on peut employer une petite astuce :
//On récupère l'instance par défaut du site.ini, utilisé pour les locales : $ini = eZINI::instance(); //Récupération de la locale courante : $originalLanguageCode = $ini->variable( 'RegionalSettings', 'Locale' ); //On défini la locale souhaitée : $ini->setVariable( 'RegionalSettings', 'Locale', 'fre-FR' ); //On vide le cache de locale pour que notre changement soit bien pris en compte : eZLocale::resetGlobals(); $tpl = templateInit(); /* Nous placerons nos fetchs d'objets à afficher ici */ $content = $tpl->fetch( 'design:mon_template_a_traduire.tpl' ) ); //On redéfini la locale d'origine: $ini->setVariable( 'RegionalSettings', 'Locale', $originalLanguageCode ); eZLocale::resetGlobals();
Il est a noter que dans le site.ini de votre siteaccess, dans le paragraphe [RegionalSettings], la variable TextTranslation doit bien être a enabled, il n'est pas possible de la redéfinir au niveau d'un module (du fait du mécanisme d'appel des fonction i18n en fonction de cette variable).
Lorsque vous créez vos propres modules, il est parfois intéressant de rediriger le visiteur vers une vue antérieur. Pour récuperer l'URI de la dernière vue utilisée, eZ Publish met à notre disposition une variable de session, "LastAccessesURI", qui peut être appelée dans une des vues de vos modules de cette façon :
$http = eZHTTPTool::instance(); $http->sessionVariable( "LastAccessesURI" );
Vous obtiendrez alors la dernière page visitée par l'utilisateur avant l'appel de votre vue.
Là où il peut y avoir problème, c'est lorsque cette dernière page visitée n'est pas vraiment pertinente. Par exemple lorsqu'il s'agit d'une page d'édition de contenu, ou de l'appel d'une méthode AJAX : il peut être déroutant pour l'utilisateur de se retrouver sur l'édition d'une version d'objet qui n'existe plus ou sur le retour d'une portion d'HTML qui est générée par une de vos vues orientée AJAX...
La solution se trouve dans la déclaration de vos vues au niveau de votre module.php, dont voici un fragment d'exemple :
$ViewList["ajax_action"] = array( 'script' => 'ajax_action.php',
'functions' => 'action',
'ui_context' => 'edit',
'params' => array( 'objectID' ) );Pour faire en sorte que la vue ne soit pas retenue comme 'dernière URI utilisée', il suffit de mettre dans l'index 'ui_context' une des valeurs suivantes : 'edit', 'administration', 'browse' ou 'authentication'.
Une page chargée après l'appel de la vue "ajax_action" n'aura donc pas cette dernière comme "LastAccessURI", mais bien la dernière page "utile" visitée par l'utilisateur.
Pour en savoir plus, voir dans le code : /index.php aux environs de la ligne 880 (eZ Publish 4.1.3).
Apres avoir installer sans problème plusierus fois ez en version 4.0, j'ai renconté un problème sur un nouveau serveur avec l'installation d'ez en 4.01.
La configuration de mon serveur:RHEL 5Mysql 5php 5.1.6
Tout allait bien jusqu'à 35% de l'installation ou les messages suivants apparaissent:
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/html/ezpublish401/index.php on line 119
ou
<em>??????????????????????????????????????????????????????????????????Help</em><em>???????????????????????????????????????????????????????????????????</em>
ou une page blanche ...
Apres avoir bien vérifié dans php.ini les parametresmagic_quotes_runtime = Offmagic_quotes_gpc = Off
Apres avoir bien supprimé tous les répertoires et fichiers présents dans le répertoire var/cache/, le problème subsistait...
Finallement, le problème venait de l'extension php mbstring qui n'était pas installée sur ce serveur ... => à rajouter dans les présrequis !
Comme disait ma grand-mère ! Et la sagesse ancestrale est archi-validée dans la jungle des nouvelles technologies : Finies les galères d'installation et de paramétrage du dernier package beta de votre application Open Source favorite => Pensez à télécharger un "Stack" chez BitNami, une sorte de package d'installation clé en main : http://bitnami.org/stacks
Je suis tombé la-dessus par hasard en cherchant un package d'installation de RubyOnRails pour Mac OS X. Amateurs de Joomla, Moodle et autres WordPress, faites votre marché.
Sont annoncés des Stacks pour Typo3, eZ Publish et SugarCRM, à suivre !
Pour Mac, on trouve même une alternative intéressante à l'architecture serveur MAMP : Elle s'appelle tout dimplement MAMPStack, et intègre à ce jour Apache 2.2.6, PHP 5.0.45, MySQL 5.2.5 et PHPMyAmin 2.11.2. Autant dire que c'est du lourd, et que c'est plus qu'à jour.
C'est à l'occasion de l'annonce de la toute nouvelle version 4 du CMS d'origine norvégienne que je décide d'en parler dans ces colonnes. A découvrir sur www.ez.no.Nous avons été amenés à nous pencher sur cet outil dans le cadre d'une mission confiée par l'un de nos grands clients internationaux, qui recherchait un nouvel outil de gestion dynamique de contenus en ligne, capable de traiter simultanément plusieurs sites locaux.Impossible de recourir aux traditionnels CMS Open Source, à l'image de Joomla par exemple, dont les limitations et faiblesses sont notoires dans le domaine de la gestion de contenus multi-lingues et dans la définition de stratégies de droits et de workflow différenciées.A l'issue d'un test comparatif entre Typo3 et eZ Publish, le choix de ce dernier s'est révélé assez naturel pour les raisons suivantes :=> Un processus d'installation extrêmement simple, avec un excellent assistant en mode web,=> Une ergonomie administrateur irréprochable,=> Un support multi-lingue et multi-sites natif,=> Une gestion des utilisateurs, groupes, droits et rôles extrêmement fouillée, avec la possibilité de définir des processus de workflow entièrement personnalisés,=> Une gestion de cache multi-niveau des plus performantes.=> Un debugger intégré des plus satisfaisants.
Un autre argument déterminant est l'existence d'un support important : Si le CMS reste fondamentalement Open Source et gratuit, il est porté par une société commerciale, eZ Systems, qui vends du service à valeur ajouté autour de l'outil, ce qui présente l'avantage de lui donner une dimension totalement professionnelle. En outre, la communauté des développeurs est très importante, tant au niveau international que purement français, avec le site http://ezpublish-france.fr/.Au fait, qu'apporte la toute nouvelle version 4 ? Pas grand chose sur le fond à vrai dire ... si ce n'est le passage du CMS à PHP5 essentiellement.En conclusion, eZ Publish 4 semble être une excellente solution professionnelle pour mettre en place des sites web Corporate et marchands, et je suis certain d'en reparler dans ces colonnes dans les mois qui viennent, pour vous faire partager notre retour d'expérience :-)
3D AJAX Apple - Mac OS X Benchmark Sites Web Bureautique CD-DVD CMS Cryptographie Développement Divers Flash Flex Flex - RIA FLV et streaming Groupware Internet Javascript Joomla Lectures Logiciel Materiel News Perso PHP Ressources Sécurité Systèmes et matériels Utilitaires Veille & Intelligence Vidéo
Derniers articles
- MAGENTO 1.4 - GESTION TTC ET TVA
- INSTALLATION DE MAGENTO 1.4 SOUS MAMP / WAMP
- 7 NOUVELLES FONCTIONNALITÉS POUR VOTRE COMPTE GOOGLE ANALYTICS
- HOW TO SEND HTML EMAIL USING OUTLOOK
- UN EDITEUR MYSQL ULTRA LITE
- CHANGER LA LANGUE EN COURS DE SCRIPT EZ PUBLISH
- GESTION DE LA PAGE PRÉCÉDENTE DANS EZ PUBLISH
- GOOGLE WAVE
- MANIPULER LES FLV SOUS MAC
- PROBLÈME DE COMPATIBILITÉ ENTRE SUITCASE FUSION ET 10.5.6
- UN OURS BLANC A BLOQUÉ LE VIEUX PORT ...
- INSTALLATION EZPUBLISH 4.01
Ajouter des commentaires