Project

General

Profile

Personnalisation de l'interface publique » History » Version 24

Simon, 07/04/2012 04:48 PM

1 18 Simon
{{>toc}}
2 1 Simon
3 22 Simon
h1. Personnalisation de l'interface publique
4 1 Simon
5
6 17 Simon
7
8 24 Simon
h2. Personnalisation graphique - 
9 1 Simon
10 24 Simon
h3. Les thèmes
11 1 Simon
12 24 Simon
13 20 Simon
Pour ajouter un thème, procéder en 3 étapes :
14
* Dupliquer le dossier _/templates/public/default/_ et renommer le (par exemple en _/templates/public/montheme/_ ).
15 23 Simon
* 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.
16 17 Simon
* Modifiez les fichiers contenus dans _/templates/public/montheme/_ à votre convenance.
17
18 1 Simon
19 24 Simon
h3. Les templates publics - mise en page
20 17 Simon
21
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. 
22 1 Simon
23 24 Simon
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. 
24 1 Simon
25
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.
26
27 24 Simon
Les templates publics sont pris en charge par la fonction *distInclude()*.
28 1 Simon
29
30 24 Simon
h2. Personnalisation fonctionnelle
31 1 Simon
32
33
34 24 Simon
h3. L'override
35
36
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.
37
38
Attention, le dossier _override_ doit contenir la même arborescence que le fichier d'origine. Par exemple  : _/templates/public/montheme/override/news/display.php_.
39
40
41
42
h3. Le fichier _display.php_
43
44
45 8 Simon
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.
46
47
Prenons un exemple concret :
48
49 24 Simon
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 :
50 1 Simon
51 17 Simon
<pre>
52
<code class="php">
53 1 Simon
include_once('../news/display.php');
54
55
// no need if the default module file is included
56 8 Simon
// include_once(themePath('../news/' . SQL . '.inc.php'));
57
58
59 1 Simon
function hello_world() {
60
  return 'hello World !';
61 17 Simon
}
62 8 Simon
63 17 Simon
function DisplayOneNews($news_id) [
64 8 Simon
  echo hello_world();
65 17 Simon
  // la suite de mon traitement
66 8 Simon
}
67
</code></pre>
68
69
La première ligne de code me permet d'inclure les méthodes de base (sans avoir à les redéfinir - *version >= 1.4* ).
70
71
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.
72 1 Simon
73 8 Simon
Je définis ma fonction hello_world() jusqu'alors inexistante.
74 1 Simon
75 7 Simon
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.
76 8 Simon
77 20 Simon
78 8 Simon
79
80 17 Simon
h2. Editeurs WYSIWYG
81 8 Simon
82 1 Simon
83 17 Simon
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/.
84
85
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é).
86
87 13 Simon
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.
88 3 Simon
89 17 Simon
* http://ckeditor.com/
90
* http://tinymce.moxiecode.com/
91
* http://www.fckeditor.net/
92 3 Simon
93 17 Simon
Les fichiers de configuration se trouvent dans _/lib/js/_ :
94
* pour CKeditor : _/lib/js/ckeditor/config.js_
95
* 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)
96 1 Simon
* pour FCKeditor : _/lib/js/fckeditor/fckconfig.js_
97
98 24 Simon
Référez-vous au système d'[[Override|override]] afin d'assurer la pérennité de votre configuration personnelle.
99 1 Simon
100 17 Simon
Si aucun éditeur WYSIWYG n'est activé, le système autorisera seulement les balises HTML contenu dans la constante ALLOWABLE_TAGS.