SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 82 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

3 votes

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

  • Réservation d’événements

    16 mars 2015 – 380 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification Facteur (...)

  • Éditorial (HTML5UP)

    27 novembre 2017 – 53 commentaires

    Squelette SPIP pour intégrer le modèle Editorial de HTML5UP https://html5up.net/editorial Configuration La page de configuration permet quelques réglages. On y défini la couleur principale du site, des informations de contact et le contenu de la (...)

  • Slick

    17 mai 2017 – 20 commentaires

    Intégration à SPIP du carrousel Slick : https://kenwheeler.github.io/slick/ Fonctions de Slick Son utilisation permet d’afficher une liste d’éléments défilants, en l’occurrence ici une série de photographies. Par les configurations proposées, il est (...)

  • GIS Geometries

    19 mars 2014 – 57 commentaires

    Ce plugin ajoute au plugin GIS la possibilité d’afficher et d’éditer des formes géométriques. Avertissement : ce plugin ne fonctionne que sur les sites qui utilisent une base de données MySQL en version 4.1 minimum, car la gestion des données (...)

  • Mailsubscribers

    16 janvier 2013 – 382 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)