Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Utilisation de la classe myHtmlResponse pour un habillage commun à toute l'application

Posted by patcat78 on 10/02/2008 22:33

Bonsoir,

Je suis un nouvel utilisateur des forums et j'espère que je ne commettrais pas d'impairs.

Ma question concerne la classe myHtmlResponse. La classe créée me donne :

 class myHtmlResponse extends jResponseHtml {

 public $bodyTpl = 'CSTEI_SI~main';

Cela concerne la variable $bodyTpl. Si j'ai bien lu la doc sur les sélecteurs, je dois avoir "module~ressource", or la variable créée ne comprend pas un module mais une application (dont le répertoire de base est bien "CSTEI_SI").

J'ai crée un fichier main.tpl. J'ai essayé tous les répertoires possibles, cela ne fonctionne pas. Si je modifie "CSTEI_SI" par "news" (j'ai pris l'exemple du tutoriel) cela fonctionne (mais uniquement pour ce module).

Aurais-je commis une erreur, et dans ce cas je serais reconnaissant d'un éclaircissement, ou s'agit-il d'une erreur dans la génération de la variable '$bodyTpl' ?

Merci d'avance

  [Opened] Re: Utilisation de la classe myHtmlResponse pour un habillage commun à toute l'application

Reply #1 Posted by laurentj on 10/03/2008 00:31

Salut

Par défaut, le script createapp crée un module du même nom que celui de l'application. Donc dans CSTEI_SI/modules/ tu dois avoir un module CSTEI_SI. Et dans CSTEI_SI/modules/CSTEI_SI/templates/, tu dois normalement avoir un fichier main.tpl.

Sauf si tu as utilisé l'option -nodefaultmodule lors du createapp, ce qui doit être le cas si tu as suivi le tutoriel. Dans ce cas, il n'y a pas de template CSTEI_SI~main, ni de module CSTEI_SI.

Mais dans le cadre du tutoriel, ce n'est pas génant, vu que dans les actions on change la propriété $bodyTpl.

Sinon, en dehors du tutoriel, il faut effectivement changer la valeur de $bodyTpl. Tu poses un main.tpl dans le repertoire templates/ d'un module, news par exemple, et tu indiques "news~main". (dans les actions, il ne faut bien sûr pas mettre d'instructions qui changent $bodyTpl, si on veut que le template main soit utilisé)

 
Page
  1. Afficher données d'une base interbase dans un template >
  2. Re: Utilisation de la classe myHtmlResponse pour un habillage commun à toute l'application