Comment désactiver une partie d’un squelette ?

A quoi ça sert de « commenter » du code ?

Désactiver une partie d’un squelette en « commentant », permet parfois d’y voir plus clair pour un debugage de squelette.

Cela permet aussi d’envoyer le squelette sur le site alors que l’on pas encore terminé une partie (c’est cette partie qu’on « commente »).... ou bien simplement de placer des commentaires pour ceux qui les liront.

Les commentaires dans un script sont importants aussi pour vous : dans 6 mois, vous aurez peut-être oublié pourquoi vous aviez mis tel filtre, tout en vous rapellant que vous aviez eu du mal à obtenir le résultat voulu.

Enfin, toujours à titre de débugage, vous pouvez faire apparaître certaines valeurs, vérifier la présence de certaines variables, de leur valeur... ou tout simplement vérifier qu’une boucle rubrique donne les bonnes rubriques : dans le cas d’une boucle qui sert à encadrer une boucle article afin de faire un listing,si votre boucle rubrique ne sort pas le bon résultat, la boucle article n’ira pas non plus. (bien sur, vous n’oublierez pas de remettre les commentaires)

Voila, les mises en commentaires servent à plein de choses.

Comme dans Spip on peut habituellement utiliser des balises Spip, du PHP, du HTML et enfin du javascript, il faut savoir ce que l’on va mettre en commentaire.

Les interactions sont nombreuses, je rappelle que l’ordre d’exécution est :

  1. Balises Spip (boucles, et #TEXTE...)
  2. PHP
  3. dans le navigateur : HTML Javascript et feuilles de style.

Pour désactiver une partie d’un squelette :

  • Si c’est une partie en HTML, un simple commentaire HTML suffira :
    <!-- 
    
    ici ce n'est plus interprété par le navigateur (mais ce l'est encore par Spip)
    
    -->
  • Pour le PHP :
    <?php # commentaire ?>
  • Ou bien encore le
    <?php 
    
    // echo "cette ligne n'est plus interprétée par le php"; 
    
     ?>
  • Et enfin le
    <php /*  
    
    echo "ce bloc et tout qui suit n'est pas interpreté...";
    
    echo "(les instructions Spip sont encore interprétées par Spip..., n'oubliez pas de les refermer correctement, mais elle ne s'afficheront pas.)";
    
    echo "...jusqu'au";
    
    */ ?>
  • Vous pouvez aussi essayer de détruire les boucles :

Sachez que les boucles Spip même mises en commentaire seront quand même interprétées par Spip, ce qui peut vous poser un problème lors de l’utilisation du filtre {doublons} ou {unique} , dans ce cas, il vous faudra casser la boucle (en écrivant volontairement mal le mot BOUCLE de cette façon :

 

<B-OUCLE_art(ARTICLES){id_article}>
#TEXTE
</B-OUCLE_art(ARTICLES){id_article}>

bien sur, il faut aussi le faire pour la boucle fermante, ce qui n’est pas pratique.

Pour les <INCLURE(...)> c’est plus simple, puisqu’il suffit de le faire à un seul endroit :<IN-CLURE(...)>

Je rapelle encore que le dans un squelette, l’ordre d’interprétation est :

  1. Spip
  2. PHP
  3. HTML et JavaScript et... dans le navigateur

Si vous voulez utiliser une variable php dans un critère de boucle, voyez cette discution à ce sujet.

Je vous invite à compléter cet article

Merci à BoOz pour m’avoir aidé à compléter cet article.

Discussion

5 discussions

  • Article toujours aussi efficasse

    Répondre à ce message

  • 4

    Comment me debarasser du bouton « modifier cet article » dans article-dist.html ? J’ai eu beau fouiller dans le code - cet element me reste insaisissable.

    • Moi aussi, j’ai cherché partout et je sais pas comment faire...

      Quelqu’un peut-il nous aider ?

    • Cet élément n’apparaît _que_ pour les administrateurs, et est inséré par [(#FORMULAIRE_ADMIN)].
      Il n’y a donc pas lieu de l’enlever.
      Pour voir votre site tel que le voient les visiteurs lambda, allez dans l’espace privé, déconnectez-vous, et revenez sur le site (en actualisant les page à cause du cache navigateur of course).

      Cette question a déjà été soulevée dans la FAQ, me semble-t-il.

    • ^^ Merci beaucoup :)

    • Bonsoir

      De toute façon, il n’est pas visible par l’internaute.

      Il n’apparaît que pour ceux qui sont logués/identifié.

      Il y a une balise #FORMULAIRE_ADMIN je crois bien, pour afficher ces boutons. Il suffit qu’elle ne soit pas présente, mais c’est se retirer un outil pratique pour les rédacteurs.

    Répondre à ce message

  • A partir de la version 1.8, la balise #REM peut être utilisée pour insérer des remarques dans les squelettes :

    [(#REM) Petit commentaire pour expliquer l'astuce]

    Répondre à ce message

  • 1
    jeanmichel

    je narrive pas a supprimer mozilla et warning user etc qui reviennent systematiquement et qui me donnent une page blanche

    • Peut-on avoir plus de précisions ?

      Dans mes_fonction.php3, tu peux personnaliser certaines variables... très utilie, je crois que la solution est à écrire dedans (la liste est dans /ecrire/inc_version.php3)

      Amicalement
      Grégoire

    Répondre à ce message

  • 1

    Grace a la fonction « remplacer » qui esxiste dans la plupart des editeurs, il deviens plus simple de ’fausser’ les balises. Il suffit de mettre en surbrillance la partie du code dans laquelle se trouve les boucles a « casser », ensuite editer/remplacer et vous remplacer <B pas <Bcacaprout.

    Comme ca quand vous avez fini votre debbugage (plus la peine de selectionner la partie du code concerné) il suffit de faire edition/remplacer et vous remplacez <Bcacaprout par <B et le tour est joué !

    j’ai bon ?

    • Bon, super. La prochaine fois j’essaierai d’utiliser mon cerveau avant de cliquer sur « poster », ou au moins je relirais !
      je disais donc qu’on pouvait remplacer

       <B

      par <Bcacaprout
      et une fois le debuggage terminé, on peut remplacer <Bcacaprout par <B

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom