ESC_0133.jpg DSC_0001.jpg DSC_0460.jpg

 i need more coffee

Atteint depuis mon plus jeune âge d'hippopotomonstrosesquippedaliophobie (cultivez vous ça ne fera pas de mal) j'ai décidé de faire un blog sur ma maladie (be feeeaar..).
Blague à part c'est un blog totalement axé génie logiciel que vous trouverez ici. Du PHP, du J2EE, et évidement toutes les technologies qui leur sont liées.

Have fun !

Conditionner un traitement au mode 'Preview' de CmsMadeSimple

18 avril 2013Posté par : Kevin Danezis dans CmsMadeSimple

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 Disqus 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"

$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 :

{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

A noter que mon script Disqus va prochainement sortir sous la forme d'un module pour plus de souplesse, il incorporera cette amélioration.

comments powered by Disqus