Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste : 1.7 independent-components 1.3.x 1.1 1.3.x

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:tutoriels:jelixnews-1.3:creation-action [2011/05/24 12:14] – créée mindiellfr:tutoriels:jelixnews-1.3:creation-action [2020/08/03 15:05] (Version actuelle) – modification externe 127.0.0.1
Ligne 68: Ligne 68:
  
  
-Tout le corps de la page, c'est à dire le contenu de la balise html @@E@<body>@@, doit être généré par vous même, via éventuellement le moteur de template de Jelix : [[fr:manuel-1.3:templates|jTpl]]. @@C@jResponseHtml@@ instancie en standard un moteur de template placé dans la propriété @@P@body@@. Le nom du fichier template est à placer dans la propriété @@P@bodyTpl@@.+Tout le corps de la page, c'est à dire le contenu de la balise html @@E@<body>@@, doit être généré par vous même, via éventuellement le moteur de template de Jelix : [[http://docs.jelix.org/fr/manuel-1.3/templates|jTpl]]. @@C@jResponseHtml@@ instancie en standard un moteur de template placé dans la propriété @@P@body@@. Le nom du fichier template est à placer dans la propriété @@P@bodyTpl@@.
  
 ==== Un objet réponse personnalisé ==== ==== Un objet réponse personnalisé ====
Ligne 109: Ligne 109:
 Quand on fait donc @@$this->getResponse('html')@@ dans un contrôleur, nous obtenons alors un objet @@C@myHtmlResponse@@ au lieu de @@C@jResponseHtml@@ (comme c'est le cas par défaut si on ne passe pas par createapp). Quand on fait donc @@$this->getResponse('html')@@ dans un contrôleur, nous obtenons alors un objet @@C@myHtmlResponse@@ au lieu de @@C@jResponseHtml@@ (comme c'est le cas par défaut si on ne passe pas par createapp).
  
-À propos de "jelix~defaultmain", il n'est pas besoin de mettre le suffixe ".tpl" du nom du fichier, car il s'agit en fait d'un [[fr:manuel-1.3:selecteurs|sélecteur]] Jelix. Un [[fr:manuel-1.3:selecteurs|sélecteur]] est une chaîne, permettant de désigner facilement une ressource du projet, indépendamment de son emplacement physique.+À propos de "jelix~defaultmain", il n'est pas besoin de mettre le suffixe ".tpl" du nom du fichier, car il s'agit en fait d'un [[http://docs.jelix.org/fr/manuel-1.3/selecteurs|sélecteur]] Jelix. Un [[http://docs.jelix.org/fr/manuel-1.3/selecteurs|sélecteur]] est une chaîne, permettant de désigner facilement une ressource du projet, indépendamment de son emplacement physique.
  
-Un sélecteur comporte un nom de module et un nom de ressource séparés par le caractère "~", comme ceci : @@nom_module~nom_ressource@@. La partie "nom_module~" est facultative quand il s'agit du module courant. Le nom de la ressource n'est pas forcément un nom de fichier, même si la plupart du temps elle désigne un fichier. L'objet qui utilise le sélecteur (ici [[fr:manuel-1.3:templates|jTpl]]) sait comment récupérer le fichier correspondant au sélecteur. Vous verrez que les sélecteurs sont abondamment utilisés, et permettent une certaine souplesse et une indépendance vis à vis des chemins de fichiers physiques.+Un sélecteur comporte un nom de module et un nom de ressource séparés par le caractère "~", comme ceci : @@nom_module~nom_ressource@@. La partie "nom_module~" est facultative quand il s'agit du module courant. Le nom de la ressource n'est pas forcément un nom de fichier, même si la plupart du temps elle désigne un fichier. L'objet qui utilise le sélecteur (ici [[http://docs.jelix.org/fr/manuel-1.3/templates|jTpl]]) sait comment récupérer le fichier correspondant au sélecteur. Vous verrez que les sélecteurs sont abondamment utilisés, et permettent une certaine souplesse et une indépendance vis à vis des chemins de fichiers physiques.
  
 ==== Premier affichage ==== ==== Premier affichage ====
  
-Voyons maintenant ce que génère cette réponse avec le template "jelix~defaultmain", avant même que l'on ait à coder quoique ce soit.+Voyons maintenant ce que génère cette réponse avec le template "jelix~defaultmain", 
 +avant même que l'on ait à coder quoique ce soit.
  
-Tapons l'adresse suivante dans le navigateur (en adaptant le nom de domaine et le chemin jusqu'à actu.org/www selon votre installation): http://localhost/actu.org/www/index.php/news/default/index+Tapons l'adresse suivante dans le navigateur (en adaptant le nom de domaine et 
 +le chemin jusqu'à actu.org/www selon votre installation): 
 +http://localhost/actu.org/www/index.php/news/default/index
  
-"news" est le nom du module, "default" le nom du contrôleur, et "index" le nom de la méthode dans le contrôleur. "default" et "index" étant des noms par défaut pour Jelix, vous pouvez, pour cette action, taper juste http://localhost/actu.org/www/index.php/news/.+"news" est le nom du module, "default" le nom du contrôleur, et "index" le nom de la méthode 
 +dans le contrôleur. "default" et "index" étant des noms par défaut pour Jelix, vous pouvez, 
 +pour cette action, taper juste http://localhost/actu.org/www/index.php/news/.
  
 Si vous avez une erreur 404, vérifiez que le chemin est bon, et que apache est configuré avec "AcceptPathInfo on". Si vous avez une erreur 404, vérifiez que le chemin est bon, et que apache est configuré avec "AcceptPathInfo on".
Ligne 142: Ligne 147:
 ==== Créer un template général ==== ==== Créer un template général ====
  
-Nous avons donc un template principal ("jelix~defaultmain") pour toutes les pages. Comme vous le voyez à l'affichage, ce n'est pas forcément ce que vous voulez. Créer donc un nouveau template général, que vous mettrez dans @@F@modules/news/templates/main.tpl@@ par exemple:+Nous avons donc un template principal ("jelix~defaultmain") pour toutes les pages. Comme vous le 
 +voyez à l'affichage, ce n'est pas forcément ce que vous voulez. Créer donc un nouveau 
 +template général, que vous mettrez dans @@F@modules/news/templates/main.tpl@@ par exemple:
  
 <code html> <code html>
Ligne 153: Ligne 160:
 </code> </code>
  
-Comme il a été dit auparavant, le contenu du template sera le contenu de la balise @@E@<body>@@. C'est pourquoi vous n'avez pas à mettre les balises standard @@E@<html>@@, @@E@<head>@@, etc... Juste le contenu de la page.+Comme il a été dit auparavant, le contenu du template sera le contenu de la 
 +balise @@E@<body>@@. C'est pourquoi vous n'avez pas à mettre les balises 
 +standard @@E@<html>@@, @@E@<head>@@, etc... Juste le contenu de la page.
  
  
-"{$MAIN}" affiche une variable de template nommée @@V@$MAIN@@. Dans chaque action, vous devrez indiquer le contenu de cette variable, qui sera dans le cadre de notre application, le contenu spécifique de la page que l'on veut afficher.+"{$MAIN}" affiche une variable de template nommée @@V@$MAIN@@. Dans chaque action, 
 +vous devrez indiquer le contenu de cette variable, qui sera dans le cadre de notre application, 
 +le contenu spécifique de la page que l'on veut afficher.
  
 Spécifions maintenant ce template à notre réponse personnalisée dans @@F@responses/myhtmlresponse.class.php@@: Spécifions maintenant ce template à notre réponse personnalisée dans @@F@responses/myhtmlresponse.class.php@@:
Ligne 174: Ligne 185:
 ==== Template de contenu spécifique ==== ==== Template de contenu spécifique ====
  
-Pour notre action principale, nous allons définir un template, dont le contenu sera assigné à la variable @@V@$MAIN@@ du template principal (ce qui vous fera donc deux templates).+Pour notre action principale, nous allons définir un template, dont le contenu 
 +sera assigné à la variable @@V@$MAIN@@ du template principal (ce qui vous fera donc deux templates).
  
 Créez un fichier listenews.tpl dans le répertoire //templates// du module. Et mettez y ce contenu : Créez un fichier listenews.tpl dans le répertoire //templates// du module. Et mettez y ce contenu :

fr/tutoriels/jelixnews-1.3/creation-action.1306239252.txt.gz · Dernière modification : 2011/05/24 12:14 de mindiell

Fils rss des changements récents dans le wiki Creative Commons License