18/04/2013, 10:58:29
Article également publié sur mon blog
Depuis quelques mois et quelques versions maintenant, CmsMadeSimple vous propose un mode de prévisualisation des modifications de vos contenus. Les plus connus sont bien évidement les pages, mais également le module News.
Il est parfois intéressant de conditionner l'appel à un module, à un script JS selon si vous êtes en mode prévisualisation, je vous donnerais en exemple mon UDT Disquss qui permet d'avoir les commentaires sur le blog et qui a tendance à déconner à cause du mode preview (une longue histoire...)
Bref en cherchant un moyen simple de distinguer les deux modes : preview ou affichage normal, j'ai créé ce script très simple d'utilisation.
Créez une udt nommée "isPreview"
Dans le code de votre page, de votre gabarit de news, appelez l'udt ainsi :
C'est déjà finit. Vous couvrez ainsi la prévisualisation des modules News, Content et CgBlog
Mon script Disqus va prochainement sortir sous la forme d'un module pour plus de souplesse, il incorporera cette amélioration.
Depuis quelques mois et quelques versions maintenant, CmsMadeSimple vous propose un mode de prévisualisation des modifications de vos contenus. Les plus connus sont bien évidement les pages, mais également le module News.
Il est parfois intéressant de conditionner l'appel à un module, à un script JS selon si vous êtes en mode prévisualisation, je vous donnerais en exemple mon UDT Disquss qui permet d'avoir les commentaires sur le blog et qui a tendance à déconner à cause du mode preview (une longue histoire...)
Bref en cherchant un moyen simple de distinguer les deux modes : preview ou affichage normal, j'ai créé ce script très simple d'utilisation.
Créez une udt nommée "isPreview"
Code :
$prevs = array('_preview_', '__CMS_PREVIEW_PAGE__');
$isHere = false;
foreach($prevs as $prev){
if(strpos($_SERVER['REQUEST_URI'], $prev) !== FALSE){
$isHere = true;
break;
}
}
cmsms()->GetSmarty()->assign('isPreview', $isHere);
return;
Dans le code de votre page, de votre gabarit de news, appelez l'udt ainsi :
Code :
{isPreview}
{if $isPreview}
vous êtes en mode preview
{else}
[...] traitement à ne réaliser qu'en mode normal [...]
{/if}
C'est déjà finit. Vous couvrez ainsi la prévisualisation des modules News, Content et CgBlog
Mon script Disqus va prochainement sortir sous la forme d'un module pour plus de souplesse, il incorporera cette amélioration.