Dates: Publication, Création, Mise-à jour

Bonjour à tous,

Je suis un peu perdu dans les dates. On a trois choix possibles et c'est très bien.

Je souhaite juste modifier mon template article en indiquant:

- Article Créé le: (date de création)
- Article publié le: (date de publication)
- Article modifié le: (date de modification)

Le top serait de compléter la fonction de Stéphane qui marche très bien:
[== Indéfini ==]
Écrit le <?php $plxShow->artDate('#num_day #month #num_year(4)'); ?>
	<?php 
		$date_creation = plxDate::formatDate($plxMotor->plxRecord_arts->f('date_creation'), '#num_year(4)#num_month#num_day'); 
		$date_update = plxDate::formatDate($plxMotor->plxRecord_arts->f('date_update'), '#num_year(4)#num_month#num_day');
		if($date_update!=$date_creation) {
			echo '- modifié le ';
			$plxShow->artUpdateDate('#num_day #month #num_year(4)');
		}
	?>

en ajoutant un if (switch?) sur la date de publication.

De sorte que:

- Si date création = Date publié = Date modifié => Print la date de création
- Si date création = Date publié # date modifié => Print la date de création + la date de modification (le code de Stéphane)
- Si date création # Date publié # date modifié => print la date de création + la date de publication + la date de modification

Mes connaissance en PHP étant proches de 0, votre aide est la bienvenue.

Merci.

Réponses

  • Bonjour,

    Je penses que ceci fait ce dont tu as besoin mais il y a moyen d'optimiser un peu.
    [== PHP ==]
    <?php 
    	$date_creation = plxDate::formatDate($plxMotor->plxRecord_arts->f('date_creation'), '#num_year(4)#num_month#num_day'); 
    	$date_update = plxDate::formatDate($plxMotor->plxRecord_arts->f('date_update'), '#num_year(4)#num_month#num_day');
    	$date_publication = plxDate::formatDate($plxMotor->plxRecord_arts->f('date'), '#num_year(4)#num_month#num_day');
    	if($date_update != $date_creation && $date_publication != $date_creation){
    		echo 'Écrit le ';
    		$plxShow->artCreationDate('#num_day #month #num_year(4)');
    		echo ' - modifié le ';
    		$plxShow->artUpdateDate('#num_day #month #num_year(4)');
    		echo ' - publié le ';
    		$plxShow->artDate('#num_day #month #num_year(4)');
    	}elseif($date_update != $date_creation && $date_publication == $date_creation){
    		echo 'Écrit le ';
    		$plxShow->artCreationDate('#num_day #month #num_year(4)');
    		echo ' - modifié le ';
    		$plxShow->artUpdateDate('#num_day #month #num_year(4)');
    	}else{
    		echo 'Écrit le ';
    		$plxShow->artCreationDate('#num_day #month #num_year(4)');
    	}
    ?>
    
  • Bonjour Beduck,

    Désolé pour ma réponse tardive mais j'étais en déplacement et ne rentre que maintenant.
    Merci pour ce code qui est effectivement ce dont j'avais besoin.
    Pour ce qui est de l'optimisation je m'en occupe, peu de choses puisque tu as déjà fait tout le travail.
    Merci encore pour ce coup de pouce.
  • Salut salut,

    Je me permets de relancer le sujet car mes connaissances sont également assez limités.

    Je souhaite faire la même chose mais sur une liste d'article. Est ce possible ?

    Merci
  • StéphaneStéphane Member, Former PluXml Project Manager
    @djinlemage: comment est affichée ta liste d'article ?

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Simplement avec un
    [== PHP ==]
    <?php $plxShow->lastArtList('<li><a href="#art_url" title="#art_title">#art_title</a></li>',2,7) ?>
    
Connectez-vous ou Inscrivez-vous pour répondre.