[spip-dev] plusieurs présentations possible du même article avec SPIP

Bonjour,
Nous étudions actuellement la solution SPIP dans laquelle j’avais vu une possibilité pour “créer des couples de fichiers avec le même élément logique (articles, rubriques, …).”

Est ce possible de créer plusieurs squelettes pour le même article ? Pour présenter par exemple un même contenu de manière différente sur des navigateurs différents ? Et si oui comment ?

J’ai fait un test en modifiant le fichier article.php3 et en mentionnant la variable $fond avec 2 squelettes différents selon le type de navigateur. Mais si les 2 squelettes sont bien créés, il y a dans le cache 2 pages avec le même nom basé sur le numéro d’article et non avec un nom de squelette (article-n°). J’ai donc avec tantôt une page A tantôt une page B qqs soit le navigateur.

Merci pour votre aide
Benoît DESPUJOLS

Est ce possible de créer plusieurs squelettes pour le même article ? Pour
présenter par exemple un même contenu de manière différente sur des
navigateurs différents ? Et si oui comment ?

oui !

J'ai fait un test en modifiant le fichier article.php3 et en mentionnant la
variable $fond avec 2 squelettes différents selon le type de navigateur.

je fais pareil.

Mais si les 2 squelettes sont bien créés, il y a dans le cache 2 pages avec
le même nom basé sur le numéro d'article et non avec un nom de squelette
(article-n°). J'ai donc avec tantôt une page A tantôt une page B qqs soit le
navigateur.

tout pareil, sauf que j'ai la solution :wink:
dans inc-public-global, vers la ligne 43, il y a ça :
  $fichier_requete = $REQUEST_URI;
juste après, j'ai mis ça :
if(!empty($look)) {
    $fichier_requete= $look.$fichier_requete;
}

  $look est une variable que je défini dans article.php3 et qui
contient le répertoire dans lequel il faut aller chercher le squelette.
  par exemple, si tu veux différencier ie et netscape, tu mets
un article.html dans /ie et un autre dans /netscape, tu initialises
$look en fonction du user-agent (dans article.php3) et tu y fais
$fond = $look."article";

À+, Pif.

Et pourquoi vous ne jouez pas sur la variable globale $dossier_squelette ?

Au lieu de la définir une fois pour toutes dans mes_fonctions.php3, vous pourriez la préciser dans article.php3 ?

Je dis une bétise ?

James

Christian Lefebvre wrote:

Parce que je l'ai décourverte que après avoir fait comme ça :-)))
  Elle est documentée quelque part cette variable ?
  Et est-ce que le cache aura réellement un exemplaire par squelette
dans ce cas ?

Christian Lefebvre wrote:

Une reflexion vint en passant :

Pour peu qu'on ait pas peur d'un gros cache et que ça marche, on est presque au début de la mise en place d'un gestionnaire de thème pour les visiteurs...

...

J'ai rien dit :wink:

James

Effectivement : j'ai essayé, ça marche au poil.
  Merci pour le tuyau, ça m'évite de mettre du code spécifique dans le
code de spip.

À+, Pif.