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

  [Opened] [Résolu] problème d'affichage du css après authentification

Posted by tatoun59 on 09/29/2012 16:06

Bonjour,

Je teste jelix 1.4. J'ai commencé par une page d'accueil avec un fichier css que j'appelle depuis myHtmlResponse.class.php
$this->addCSSLink('jelix/design/design.css');

Jusque là pas de problème. Quand j'appelle la page http://localhost/test_jelix-1.4/ j'ai le résultat attendu.

J'ai ensuite installé les modules jauth et jauthdb avec le user par défaut. Dans le fichier de conf de auth j'ai indiqué after_login="myapp~default:index"

Quand je m'authentifie, je suis renvoyé sur http://localhost/test_jelix-1.4/index.php/myapp/ et alors, la page s'affiche mais le css n'est plus appliqué.

Pourtant quand je compare les codes sources des pages localhost/test_jelix-1.4/ et localhost/test_jelix-1.4/index.php/myapp/ j'ai bien dans les 2 cas l'appel au fichier css dans le head.

Je ne vois pas pourquoi le css n'est plus appliqué après authentification. Merci pour votre aide.

  [Opened] problème d'affichage du css après authentification

Reply #1 Posted by laurentj on 09/30/2012 09:48

bonjour,

c'est tout bonnement un problème d'URL classique. Il faut se rappeler comment un navigateur résout les URLs incomplètes ;-)

http://localhost/test_jelix-1.4/ + jelix/design/design.css, ça donne http://localhost/test_jelix-1.4/jelix/design/design.css.

http://localhost/test_jelix-1.4/index.php/myapp/ + jelix/design/design.css, ça donne http://localhost/test_jelix-1.4/index.php/myapp/jelix/design/design.css. Ce qui n'est pas, bien sûr, l'URL attendue.

La bonne réponse est

$this->addCSSLink('/test_jelix-1.4/jelix/design/design.css');

Mais comme le chemin peut changer en production, il vaut mieux utiliser une chose que founie Jelix qui permet d'être compatible "toute configuration" : le chemin vers le répertoire jelix est indiqué dans le jelixWWWPath de la config (ou calculé automatiquement si pas indiqué).

$this->addCSSLink(jApp::config()->urlengine['jelixWWWPath'].'design/design.css');

  [Opened] Re: problème d'affichage du css après authentification

Reply #2 Posted by tatoun59 on 09/30/2012 12:46

Nickel, cela marche.
J'ai donc adopté la seconde solution.
Il est vrai que je n'ai pas encore tout compris de Jelix mais je vais persévérer :-)
Félicitations pour le boulot réalisé.

 
Page
  1. [Résolu] problème d'affichage du css après authentification