Si vous avez un article spécifique (nommé ici citations) ou chaque citation est un paragraphe [1] de moins de 200 caractères recopiez cette boucle dans votre squelette :
<BOUCLE_citations(ARTICLES) {titre==citations} {0,1}>
[(#TEXTE|citations)]
</BOUCLE_citations>
Evidemment il vous faut le bon filtre ! mettez dans squelettes/mes_fonctions.php
function citations($txt){
$BDDArray = $txt;// Lecture de l'article
$BDDArray = explode('<p>', $BDDArray); // couper à la rencontre un p
$BDDArray = array_map('rtrim', $BDDArray); // Suppression des fins de lignes de chaque élément
$BDDArray = array_filter($BDDArray); // Suppression de TOUTES les entrées vides
$citation = $BDDArray[array_rand($BDDArray)]; // une phrase au hasard dans le tableau
if(strlen($citation)<200) //on ne veut pas dépasser 200 caractères
return strip_tags($citation); //on vire les tags html
else citations($txt);
}
Plus simple qu’un gros plugin :)
Adapté d’un code trouvé sur le forum SPIP,
merci à l’auteur.
Discussions par date d’activité
5 discussions
eh bien c’est toujours d’actualité même en Spip 3
@micalement
Répondre à ce message
Bonjour
J’ai testé ce squelette sur un site avec spip 2.1.10, ça ne marche pas car le filtre pose problème, j’ai un message d’erreur dans l’admin. Etes-vous sûr qu’il est compatible avec spip 2.1 ?
Répondre à ce message
Bonjour
Merci pour l’adaptation de ce code.
Pensez-vous qu’il soit possible de disposer d’une nouvelle phrase à chaque changement d’article ?
Actuellement, la citation change à chaque vidage de cache.
Cordialement
Jean-Michel
Bonjour
Suite à ma question d’hier, je me demandais si la raison de « 1 phrase par jour » n’était pas de conserver une bonne rapidité d’affichage au site.
Si c’est le cas, serait il possible de programmer la chose suivante : la phrase affichée est celle du N° fourni par le array_rand + le numéro de l’article consulté (et comment faire ?)
Cordialement
Jean-Michel
Répondre à ce message
Super Echo !
Comme on en a parlé à l’apéro, j’ai adopté. Redoutable de simplicité et d’efficacité. Merci pour ce joli filtre alexandra
Répondre à ce message
Voici un exemple d’utilisation sur le site http://universitevignevin.fr/ en bas de page vous pouvez voir une citation aléatoire s’afficher.
La citation est actualisée à chaque nouvelle mise en cache, c-a-d toutes les 24h.
L’article dont sont extraites les citations est le 30, mais c’est un article ’caché’ !
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 :
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.
Suivre les commentaires : |