SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 249 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 ?

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

  • Tickets, suivi de bugs

    28 novembre 2008 – 44 commentaires

    Tickets est un outil de suivi de bugs directement intégré à l’espace privé de SPIP. Il est conçu pour faciliter la phase de développement du site (notamment les squelettes du site public). Tickets est un système simple de suivi de bugs directement (...)

  • Les crayons

    23 avril 2008 – 818 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • Agenda 2.0

    3 novembre 2008 – 1080 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • Calendrier Mini 2.0

    19 mai 2012 – 237 commentaires

    Ce plugin ajoute la balise #CALENDRIER_MINI qui insère un petit widget de navigation par mois dans les dates des évènements. Fonctionnement du mini calendrier Le mini calendrier présente un mois à la fois. Les jours du mois comportant des (...)

  • ciag : plugin « Groupes d’auteurs »

    30 novembre 2011 – 17 commentaires

    Ce plugin facilite l’affectation des auteurs aux rubriques, via des groupes d’auteurs. Il offre également des vues globales des affectations de rubriques aux auteurs. Les objectifs de ce plugin Le premier objectif est de faciliter (...)