developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 13 years ago

Closed 13 years ago

#493 closed enhancement (duplicate)

HTML Transitional

Reported by: benjamin Owned by: laurentj
Priority: low Milestone:
Component: jelix:core response Version: 1.0.2
Severity: minor Keywords: jResponseHtml transitional
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version:

Description

Salut, je sais que le (X)HTML transitional n'est pas bien et j'aimerais pouvoir toujours bosser en strict mais malheureusement la vie est parfois (souvent) injuste... Dans mon cas je me suis retrouvé avec un template de site en HTML 4 Transitional. Plutôt que de prendre du temps (que je n'avais pas) à le passer en strict, j'ai malgré tout voulu utiliser Jelix. Hors actuellement seuls les HTML et XHTML strict sont gérés. Du coup je me dis que la modification que j'ai fait pourrait servir à d'autre qui voudrait passer à Jelix et ses nombreux avantages sans pour autant se prendre la tête (au moins au début) sur le format du HTML.

Du coup, pour moi, la modification a été très simple et efficace.

J'ai modifié le 'jResponseHtml' dans lib/jelix/core/response

J'ai rajouté un attribut :

protected $_isTransitional = false;

plus les accesseurs qui vont bien :

/

  • change the variant of (x)html for the output
  • @param boolean $transitional true if you want transitional (x)html, false if you want strict (x)html */

final public function setTransitional($transitional = false){

$this->_isTransitional = $transitional;

} /

  • says if the response will be transitional (x)html or not
  • @return boolean true if it is transitional */

final public function isTransitional(){ return $this->_isTransitional; }

Ensuite, il suffit de modifier la méthode output avec quelque chose du genre:

final public function output(){

... if($this->_isXhtml){

if($this->_isTransitional){

echo '<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', "\n";

}else{

echo '<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 StrictEN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', "\n";

} echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="',$this->_lang,'" lang="',$this->_lang,'">

';

}else{

if($this->_isTransitional){

echo '<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 TransitionalEN">', "\n";

}else{

echo '<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01EN" "http://www.w3.org/TR/html4/strict.dtd">', "\n";

} echo '<html lang="',$this->_lang,'">';

}

Je pense que ça pourrait servir à certains qui n'ont pas (osés) passer le pas de Jelix...

Merci

Change History (1)

comment:1 Changed 13 years ago by laurentj

  • Resolution set to duplicate
  • Status changed from new to closed

je sais que le (X)HTML transitional n'est pas bien

ah ? depuis quand ? Un standard est un standard :-p

Je pense que ça pourrait servir à certains qui n'ont pas (osés) passer le pas de Jelix...

Non ça ne servira pas : ticket #440 ;-)

Note: See TracTickets for help on using tickets.