[résolu] Besoin de la date de publication et non de la date de création

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Dans les renseignements sur l'auteur et la date d'un article, j'aurais besoin de renseigner la date à laquelle l'article est publié et non celle à laquelle il a été crée.
En effet les articles rédigés par des rédacteurs, avant d'être publiés sont soumis à la validation du rédacteur chef qui décide de leurs publications.

Il peut se passer quelques jours entre la création et la publication du contenu, du coup la date "écrit le" n'est plus la bonne. je voudrais d'une part éviter au rédacteur en chef d'avoir à modifier manuellement le champ "ecrit le" et d'autre part pouvoir récupérer sous forme de variable la date de publication.

J'ai vu qu'il existait un module Publication Date pour résoudre ce problème mais sous D6,
Y-a t'il une solution sous D7 ?

Bien à vous

Version de Drupal : 

Tu peux le changer en passant par le template des noeud de ton thème.

dans le thème que tu utilises tu cherches /templates/node.tpl.php tu trouveras ici les lignes suivantes que je t'ai annoté.

  <?php if ($display_submitted): ?>
    <div class="meta submitted">
      <?php print $user_picture; ?>
      <?php print $submitted; ?> // -----> tu replaces ici $submitted par $created qui contient la date de publication ( attention c'est un timestamp alors dans le doute tu peux la formatter avec la fonction date() )
    </div>
  <?php endif; ?>

Merci de ta réponse, mais après l'avoir testé ça ne répond pas à ma problématique.

En fait j'avais déjà modifier le template de la façon suivante :

<?php
 
if ($display_submitted):
?>

print "Par ".$name.", le ". t('!date ', array('!date' => format_date($node->created, 'custom', 'l d F Y')));

<?php
 
endif;
?>

afin d'obtenir un submitted personnalisé.

mais pour autant, $node->created, me renvoie la date à laquelle le journaliste à créer l'article et non celle à laquelle le rédacteur en chef a publié le contenu.
J'ai testé $created qui me renvoie la même valeur, qui n'est pas celle que je souhaite.

<div class="submitted">

<?php
 
&#10;       echo &quot;Par &quot;.$name.&quot;, le &quot;.date(&#039;l d F Y&#039;,$created); &#10;      
?>

</div>

<?php
 
endif;
?>

Il semble que pour drupal cette date de publication n'existe pas (d'où la création du module Publication Date, malheureusement pas encore dispo pour D7) et que dans les forums elles soient souvent entendu comme date de création.
Je ne cherche ni a récupérer la date de création ni la date de mise à jour mais vraiment la date à laquelle le rédacteur en chef appuie sur le bouton publier.

J'espère exprimer ma problématique assez clairement.

Merci pour ta réponse.

Quand tu parles de date du dernier changement d'état, c bien : $node->changed

<?php
echo 'dernier changement d'état : '. t('!date ', array('!date' => format_date($node->changed, 'custom', 'l d F Y')));
?>

C'est ce qui répondrait plus à mes besoins à condition que l'article ne soit pas retouché et enregistré après sa publication.

non je n'utilise pas workflow mais module save draft (moins pro)

J'ai testé workflow mais je galère un peu avec les permissions :
j'ai 2 rôles (journaliste, redacteur en chef)

journaliste peut créer contenu (non publié)
redacteur en chef peut créer du contenu et publier

Je n'ai pas du bien faire quelque chose aux niveaux des transitions ou roles car bien que mon type de contenu soit paramétré non publié, le contenu crée par journaliste apparait en aperçu bien comme non publié mais des que journaliste enregistre son contenu, il est publié....je ne vois pas trop pourquoi....

J'ai vu qu'il y a module workflow et un autre maestro, je ne saisis pas bien la différence entre les 2, y en a t-il un que tu conseilles plus que l'autre ?

perso j ai déjà utiliser workflow, je te l accorde, il faut y passer un peu de temps.

la subtilité est qu il faut laisser par défaut le contenu en mode publié(Drupal)

c'est après a worflow de gérer avec les différents état que tu auras créé et des droits que tu donnes.

Il faut être un peu vigilant sur les transitions (privé-> modération par ex) + les droits de visibilité.

j'espère ne pas t'embrouiller de trop.

bon courage !!

++

merci!
Je reviens tardivement sur mon post, finalement pour des raisons de timing j'ai utilisé le module workbench, j'avoue mettre un peu découragé avec workflow (mais rien ne m'empêchera de revenir dessus ultérieurement).

En associant workbench et rules, j'ai à peu près obtenu ce que je voulais, il faudra que je trouve comment envoyer l'alerte mail non pas à l'enregistrement du nouveau contenu mais lors du passage de draft à need review.
J'apprécie particulièrement la fonctionnalité "my workbench" qui facilite la gestion des contenus pour chaque rôle.