Forum CMS Made Simple Francophone

Aide francophone sur CMS Made Simple

Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 18/04/2013 10:58:29

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Conditionner un traitement au mode "Preview" de CmsMadeSimple

Article également publié sur mon blog wink

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"

$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

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

Hors ligne

Pied de page des forums