Messages : 769
Sujets : 36
Inscription : Oct 2012
Réputation :
0
Bonjour,
Je désirerais utiliser deux gabarits différents pour une même page suivant l'endroit du site où la page est appelée. Je n'ai trouvé aucun paramètre correspondant dans le tag de lien interne.
Si vous avez un lien ou un bout de code merci d'avance.
MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
(Modification du message : 13/11/2019, 15:53:34 par
archeo.)
Messages : 769
Sujets : 36
Inscription : Oct 2012
Réputation :
0
merci airelibre.
Je détaille le problème:
Une page doit s'afficher soit de manière standard dans les menus du site soit en en utilisant une map et des area shape sur une image. Dans ce dernier cas la page s'affiche en pop up grâce à fancybox. Dans ce dernier cas le gabarit n'a pas de menus et de banière.
J'ai d'abord pensé à utiliser deux copies identiques de la page, l'une s'affichant dans les menus l'autre ne s'affichant pas dans les menus et ne s'affichant que par l'image interactive. Avec cette solution, je crains que Google me colle un "duplicate contents".
L'autre solution est une même page avec 2 gabarits différents ou gabarit qui se modifie en fonction de l'adresse de la page d'origine. L'idée est de stoker la page d'origine dans une variable globale puis de la tester dans le gabarit. Tester l'alias de la page d'origine devrait suffire.
MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
Messages : 769
Sujets : 36
Inscription : Oct 2012
Réputation :
0
variable globale: j'oublie, ça n'existe pas pour les smarties.
Je vais donc tester ton idée d'ajouter un paramètre à l'url.
Page3 page qui doit être affichée de deux manières différentes, il lui est associé un gabarit "popup" qui est identique à un gabarit standard du site.
Page1 lance la page3 dans un menu popup, le gabarit "popup" est modifié pour ne pas afficher les éléments superflus (menus, bannière...)
Page2 lance le page3 dans une page standard, le gabarit "popup" n'est pas modifié.
Dans la page1 qui affiche page 3 dans un popup :
<area shape="poly" coords="510, 178, 510, 207, 639, 208, 644, 107, 606, 114, 604, 179" class="various" href="{cms_selflink href='gymnospermes' urlparam='?tpl=2'}" data-fancybox-type="iframe" />
dans la page2 qui affiche page 3 dans un gabarit standard
<a href="{cms_selflink href='gymnospermes'}"> Gymnospermes</a>
pour tester:
Dans la page3 qui s'affiche avec aspects différents j'ai copié ton code:
{if isset($smarty.get.tpl) and $smarty.get.tpl eq 2}
Code 2
{else}
Code 1
{/if}
Avec un test rapide j'ai bien affichage de "Code2" depuis la page 1 et "Code 1" depuis la page 2
URL canonique est le même dans les deux cas:
<link rel="canonical" href="http://localhost/cmsmadesimple/histoire-de-la-vie/conquete-des-continents/histoire-des-végétaux-terrestres/gymnospermes.html" />
Il ne reste plus qu'à créer le gabarit en shuntant les parties inutiles lors de l'affichage en popup.
Ce qui donnera :
solution 1
{if isset($smarty.get.tpl) and $smarty.get.tpl eq 2}
{*on affiche rien*}
{else}
{*on affiche le code standard du gabarit*}
{/if}
Ceci pour chaque item à éliminer
ou
solution2
{if isset($smarty.get.tpl) and $smarty.get.tpl eq 2}
{*code du gabarit pour le popup*}
{else}
{*code du gabarit pour un affichage standard*}
{/if}
Pour moi le plus simple sera la solution2 puisque que j'ai déjà un gabarit simplifié.
MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11
Messages : 769
Sujets : 36
Inscription : Oct 2012
Réputation :
0
On peut considérer le problème comme résolu, merci à airelibre pour l'idée du paramètre dans la l'adresse.
MS-Dos, Gem, geoworks, Windows 1, 2, 3, 3.1, 95, 98, XP, seven, 8, 10
Mac system 1 à 6
Wampserver 3.1.9,
PhP 7.3.5,
CMS version 2.2.11