Personnalisation de l'interface publique » History » Revision 25
Revision 24 (Simon, 07/04/2012 04:48 PM) → Revision 25/26 (Simon, 07/04/2012 04:50 PM)
{{>toc}} h1. Personnalisation de l'interface publique h2. Personnalisation graphique - h3. Les thèmes Pour ajouter un thème, procéder en 3 étapes : * Dupliquer le dossier _/templates/public/default/_ et renommer le (par exemple en _/templates/public/montheme/_ ). * Rendez-vous sur l'interface d'administration, menu _configuration_. Dépliez l'onglet _Thèmes des interfaces_. Votre nouveau thème apparaît et vous pouvez désormais le sélectionner. * Modifiez les fichiers contenus dans _/templates/public/montheme/_ à votre convenance. h3. Les templates publics - mise en page Vous souhaitez modifier une page ou ajouter dynamiquement du contenu en créant vos propres fonctions, c'est possible. Tous les fichiers contenus dans _/public/dist/_ peuvent être réécris. La logique de l'application est simple : si l'utilisateur a défini son fichier alors celui-ci est prioritaire sur le fichier par défaut. Par exemple, pour la page d'accueil, linea21 charge par défaut le fichier _/public/dist/tpl_home.php_. Si vous souhaitez modifier ce fichier, copiez _tpl_home.php_ dans _/templates/public/montheme/_ et faites vos modifications. Rafraîchissez la page depuis votre navigateur, vous constaterez que les changements ont étés pris en compte. Les templates publics sont pris en charge par la fonction *distInclude()*. h2. Personnalisation fonctionnelle h3. L'override L'override s'applique aussi bien à l'interface publique qu'à l'interface d'administration. Une [[Override|page dédiée]] expliquant le principe est disponible sur ce wiki. Attention, le dossier _override_ doit contenir la même arborescence que le fichier d'origine. Par exemple : _/templates/public/montheme/override/news/display.php_. h3. Le fichier _display.php_ Il est possible d'implémenter vos propres fonctions d'affichage, définir des traitements ou même re-définir les fonctions livrées avec l'application. Prenons un exemple concret : Je souhaite pouvoir utiliser ma propre fonction hello_world() dans le module d'actualités. Comme précédemment expliqué, je crée donc le fichier _/templates/public/montheme/override/news/display.php_ avec le code suivant : <pre> <code class="php"> include_once('../news/display.php'); // no need if the default module file is included // include_once(themePath('../news/' . SQL . '.inc.php')); function hello_world() { return 'hello World !'; } function DisplayOneNews($news_id) [ echo hello_world(); // la suite de mon traitement } </code></pre> La première ligne de code me permet d'inclure les méthodes de base (sans avoir à les redéfinir - *version >= 1.4* ). J'inclue le fichier SQL si je choisis de ne pas faire appel au fichier de référence du module. Dans le cas contraire (comme dans cet exemple), il est appelé automatiquement. Je définis ma fonction hello_world() jusqu'alors inexistante. Enfin, je re-définis la fonction DisplayOneNews() afin qu'elle réalise l'appel à ma fonction précédemment définie. Le "comportement de PHP concernant les fonctions conditionnelles":http://www.php.net/manual/fr/functions.user-defined.php va donner la priorité à la fonction définie par l'utilisateur. h2. Editeurs WYSIWYG Dans l'interface d'administration, vous pouvez remplacer les champs de saisie simples par un Editeur WYSIWYG de votre choix parmis "CKEditor":http://ckeditor.com/, "Tiny MCE":http://tinymce.moxiecode.com/ et "FckEditor":http://www.fckeditor.net/. Pour activer l'édition WYSIWYG depuis le module de configuration de l'interface d'administration, remplacez la valeur de la constante *RICH_TEXT_EDITOR* (par défaut à cke) par *cke*, *fck*,*tinymce* ou *0* (désactivé). Par défaut, un interface simple est proposée pour chacun de ces éditeurs. Référez vous à leur documentation respective pour paramétrer votre éditeur en fonction de vos besoins. * http://ckeditor.com/ * http://tinymce.moxiecode.com/ * http://www.fckeditor.net/ Les fichiers de configuration se trouvent dans _/lib/js/_ : * pour CKeditor : _/lib/js/ckeditor/config.js_ * pour tinyMCE : _/lib/js/tinymce/jscripts/tiny_mce/config.js_ (voir le tutoriel de "configuration [[TinyMCE]]":http://dev.linea21.com/wiki/tinymce réalisé par "Eribar":http://dev.linea21.com/wiki/user/eribar) * pour FCKeditor : _/lib/js/fckeditor/fckconfig.js_ Référez-vous au système d'[[Override|override]] afin d'assurer la pérennité de votre configuration personnelle. Si aucun éditeur WYSIWYG n'est activé, le système autorisera seulement les balises HTML contenu dans la constante ALLOWABLE_TAGS.