Pluxopolis

Tout savoir pour devenir un pro de PluXml, mais pas seulement...

Afficher une mention pendant 7 jours pour les nouveaux articles

Rédigé par Stéphane 9 commentaires

Voici quelques lignes de code à ajouter dans votre thème pour afficher à coté du titre des articles une icône NEW informant qu'il s'agit d'un nouvel article récemment publié.

L'idée est de comparer la date de publication des articles avec la date du jour. Si le nombre de jours trouvé est inférieur à 7, nous décidons qu'il s'agit d'un nouvel article et dans ce cas, on affiche devant le titre de l'article une petite icône "NEW". Dans mon exemple j'utilise une icône de 32 x 32 pixels comme celle-ci.

Copiez cette image dans le dossier img de votre thème. Par exemple dans: /theme/defaut/img/

Éditez le fichier home.php de votre thème (j'utilise ici le thème par défaut de PluXml 5.3.1)

Remplacez les lignes suivantes:


<h1>
	<?php $plxShow->artTitle('link'); ?>
</h1>
par

<h1>
	<?php 
	$ndays = 7;
	if(floor((strtotime(date('YmdHi')) - strtotime($plxShow->plxMotor->plxRecord_arts->f('date'))) / (60*60*24)) < $ndays) : ?>
		<img src="http://pluxopolis.net/<?php $plxShow->template() ?>/img/new.png" alt="" title="" /> 
	<?php endif; ?>					

	<?php $plxShow->artTitle('link'); ?>
</h1>
Si vous souhaitez augmenter ou réduire la période de 7 jours, changez la valeur 7 dans la ligne suivante:

	$ndays = 7;
L'icône NEW n'est affichée ici que sur la page d'accueil du site. Vous aurez également à modifier si vous le souhaitez les autres fichiers du thème qui affiche les titres des articles.

9 commentaires

#1  - Jerry Wham a dit :

L'utilisation de DateTime est plus simple non, la majorité des serveurs actuels ayant une version de php supérieure à la 5.3.0 ?

http://php.net/manual/fr/datetime.diff.php

Répondre
#2  - admin a dit :

@Jerry Wham :
Oui carrément plus simple, mais croire que tous les serveurs tournent avec php > à 5.3.0 me semble un peu optimiste. J'ai préféré jouer la sécurité pour la compatibilité. Mais effectivement avec DateTime on gagnerait en efficacité et en lisibilité du code

Répondre
#3  - jol5926 a dit :

Bonjour,
Est-il possible de faire la même chose pour les commentaires ?
Merci
jol5926

Répondre
#4  - admin a dit :

@jol5926 :
Est-ce qu'afficher la mention dans la sidebar au niveau des derniers commentaires serait la solution ?

Répondre
#5  - jol5926 a dit :

oui
ce serait une solution

Répondre
#6  - jol5926 a dit :

La solution est-elle envisageable ??
Merci

Répondre
#7  - admin a dit :

@jol5926 :
Pour le moment je n'ai pas de solution car c'est techniquement difficile à faire pour faire apparaître la mention dans la liste des derniers commentaires.

Répondre
#8  - jol5926 a dit :

Faire apparaitre la mention sur le ou les dernier commentaires dans l'article est-elle envisageable et plus facile ?

Répondre
#9  - admin a dit :

@jol5926 :
Oui. L'article est rédigé et en ligne. Voir: Afficher une mention pendant 7 jours pour les nouveaux commentaires

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la troisième lettre du mot wceg ?
Top