SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 192 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

  • cibc : bannière d’avertissement pour les cookies

    28 octobre 2014 – 55 commentaires

    L’objectif de ce plugin est d’informer l’utilisateur et de recueillir son consentement (ou son refus) sur l’utilisation par le site de cookies de mesure d’audience, de publicité ciblée ou de réseaux sociaux. Les objectifs de ce plugin Le premier (...)

  • SPIP-Bible

    25 janvier 2010 – 90 commentaires

    Permet de citer rapidement des extraits de la Bible en utilisant un modèle dans le texte d’un article.

  • Pour un fonctionnement communautaire efficace dans la communauté SPIP

    24 mai – commentaires

    Où l’on propose de tester des nouvelles façons de prendre des décisions et d’avancer collectivement sur des projets SPIP, de manière transparente, en impliquant la communauté, et en étant plus accueillants pour les nouvelles personnes. Tout ça dans la (...)

  • Mailshot

    16 janvier 2013 – 258 commentaires

    Ce plugin prend en charge l’envoi en nombre d’info-lettres par email. Mailshot permet l’envoi en nombre d’emails au moyen d’un SMTP (ou d’un service externe) dédié à cet effet. Il permet de limiter la cadence d’envoi. Enfin, ce plugin implémente la (...)

  • Configurer Mailjet

    25 avril 2016 – 11 commentaires

    N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce . Après avoir créé votre compte Étape 1 : Ajouter votre domaine Aller sur la page : https://app.mailjet.com/account/domain Suivre les (...)

Ça spipe par là