12/11/2019, 20:53:52
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é.
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