SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 188 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > Squelettes selon contexte > Squelettes selon la longueur de l’article

Squelettes selon la longueur de l’article

1er juillet 2007 – par jeanfrancois – commentaires

1 vote

Choix du squelette selon la longueur de l’article - deux solutions sont proposées : une en php l’autre en SPIP pur

Programmes testés sur SPIP version 1.9.1 et 1.9.2a


Choix du squelette selon la longueur de l’article

Objectif :

Dans un site déjà ancien et donc comprenant un grand nombre d’articles
la présentation se fait sur trois colonnes :

-  celle de droite comporte le menu et différents liens ;
-  celle gauche différentes illustrations ;
-  Celle du milieu affiche l’article.

Pour un article court tout est bien équilibré mais pour un article long la page s’étire démesurément. Afin d’éviter cet ennui a été envisagé de faire une présentation en deux colonnes (suppression de la colonne de droite) Mais pour les articles courts la page apparaît plutôt vide. Il faudrait conserver la présentation en trois colonnes beaucoup plus agréable. D’où la nécessité de disposer de 2 types de squelettes : une pour les articles longs l’autre pour les articles courts.

On pouvait choisir le squelettes par mots clefs mais ce n’était pas commode : il fallait attribuer un mot clef à chaque article : quel travail ! ! !

Mieux déterminer automatiquement la longueur de l’article et orienter le choix en fonction du résultat du calcul était évidemment une solution alléchante.

Solutions proposées

Principe

L’article appelle un squelette intermédiaire « article.html » qui calcule la longueur du texte de la page à afficher et choisit en conséquence le squelette : « articlelong.html » ou « articlecourt.html »

Ce traitement peut se faire en php ou en SPIP pur (sans php) Nous proposons donc les deux solutions.

Nous ne donnons ici que les codes pour « article.html » chacun réalisant « articlelong.html » et « articlecourt.html » selon ses besoins et ses goûts.

1 - Solution en PHP


REMARQUES :
-  La modification de $b=3000 change la longueur de l’article qui produit la permutation de squelette
-  Les ordres en php sont classiques et ne demandent pas de commentaires : un calcul de longueur de texte puis un test : if else.

2 - Solution en SPIP

REMARQUES :
-  #SET donne à la valeur N la longueur du texte que la ligne suivante affiche (un contrôle qui peut être supprimé)
-  puis un premier test réalisé par |>{2500}?{' ',''} cf.filtretest
-  puis un second test comparable au premier :
le code situé entre ) et ] n’est pris en compte que si la
balise renvoie quelque chose ici un espace ’ ’
Ainsi si N>2500 est vrai c’est le premier test qui est valide et le premier INCLURE est pris en considération et pas le second puisque pour le second on n’a pas d’espace : on a '' et non ' ' (idem pour le second)
-  Ici la valeur de changement de squelette est 2500 valeur modifiable.

Ces deux programmes ont été testés avec les versions SPIP 1.9.1 et 1.9.2a ; Ils doivent fonctionner sur toutes les versions qui gèrent les différentes fonctions utilisées.

Dernière modification de cette page le 21 octobre 2007

Retour en haut de la page

Vos commentaires

  • Le 11 mai 2009 à 22:00, par Cerdic En réponse à : Squelettes selon la longueur de l’article

    Le Plugin Compositions pour SPIP 2.0 permet maintenant de gérer très facilement les variantes de squelettes en fonction des articles, rubriques etc ...

    Répondre à ce message

  • Le 1er juillet 2007 à 19:52, par Committo Ergo Sum En réponse à : Squelettes selon la longueur de l’article

    Une solution SPIP encore plus simple :

    <BOUCLE1(ARTICLES){id_article}> ....
     <INCLURE{fond=(#TEXTE|textebrut|strlen|>{2500}|?{articlelong,articlecourt})}>
    </BOUCLE1>
    • Le 2 juillet 2007 à 22:16, par aRTHEGONe En réponse à : Squelettes selon la longueur de l’article

      Bonjour a tous,

      Question un petit peu sur le meme principe de variables SET & GET,

      dans mon #TEXTE je veux afficher toutes les images en largeur 400px si leur largeur est > à 400px,sinon en 200px de large si la lageur est < à 400px

      EXEMPLE :

      • image1:largeur 1024px => image_reduire400,0
      • image2:largeur 380px => image_reduire200,0
      • image3:largeur 350px => image_reduire200,0
      • ...

      Je ne vois pas du tout comment faire.

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Refonte de l’identité graphique

    10 juillet – 32 commentaires

    Lors de la SPIP Party 2017 à Toulouse, un nouveau contributeur est venu nous présenter son travail sur une refonte du logo. Au delà de la refonte du logo, c’est une toute nouvelle identité graphique pour SPIP que Jordan nous propose. Voici une (...)

  • Agenda Fullcalendar facile

    29 octobre 2016 – 34 commentaires

    Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda. Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute. La présente (...)

  • La Fabrique

    20 avril 2012 – 315 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

  • Formulaire upload

    25 septembre 2012 – 34 commentaires

    Ce plugin permet d’uploader des documents depuis l’espace public Objectifs Ce plugin permet d’ajouter un formulaire dans l’espace public pour uploader et gérer des fichiers. A priori, il peut se greffer sur tous types objets SPIP : articles, (...)

  • Publier archivelist.txt via svn/terminal

    10 août 2009 – 11 commentaires

    Objectif : mettre à jour l’index archivelist.txt Environnement : commandes svn via terminal Si vous désirez voir publié dans la zone la version paquet de votre contribution, il faut ajouter la ligne nécessaire dans le fichier archivelist.txt. (...)

Ça spipe par là