[Résolu] Comment afficher "6 avril 2014" avec plxShow->artDate() ?

SuricatSuricat Member
avril 2014 modifié dans Modifications
Bonjour,

J'ai regardé la doc de la fonction artDate() : http://devzone.pluxml.org/index.php?page=plxShow-artDate
La fonction artDate() permet d'afficher "06 avril 2014" en appelant
[== PHP ==]
$plxShow->artDate('#num_day #month #num_year(4)');

Mais pas moyen de ne pas afficher le 0 devant le 6 pour avoir "6 avril 2014".

Faudrait avoir la possibilité de mettre #num_day(1) pour supprimer le 0...

C'est sûr, c'est pas la révolution du siècle, mais dans certains cas, c'est plus esthétique.

Merci d'avance !

Réponses

  • bonsoir,
    en attendant la révolution, je ferais
    [== PHP ==]
    ob_start();
    $plxShow->artDate('#num_day #month #num_year(4)');
    $test = ob_get_contents();
    ob_end_clean();
    echo preg_replace('#^0(.*)#','$1',$test);
    
  • Nickel, merci !
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Voilà la solution que je te propose: http://goo.gl/kFQMhx

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Bonjour,

    Merci Stéphane.

    Par contre, ne serait-ce pas plus simple, et plus logique de modifier le fonction artDate() pour avoir la possibilité de mettre #num_day(1) pour supprimer le 0 ?

    => Ne pas avoir un zéro qu'on tente de supprimer ou de rendre invisible pas la suite...

    Forcément, il faudrait attendre une mise à jour de PluXml, mais ce serait plus propre.
  • bel exercice... de style

    mais
    * propre à html5-custom-data-attributes (support partiel de data-* avec bourrin10, selon alsacreations)
    * l'usage détourné pour le stylage n'est pas forcément à classer dans les règles de l'art
    * quant aux sélecteurs css >2X, ça va pas plaire aux bourrins

    pour s'assurer du bon fonctionnement de dataset, le mieux serait du jQuery (pour la compatibilité), mais c'est usine à gaz.

    remarque: je n'ai pas compris pourquoi rajouter du <span, cela fonctionne bien avec:

    <time data-content="06042014" datetime="2014-04-06">06 avril 2014</time>

    time[data-content^="0"]:first-letter { color: red; }
    time { display: inline-block; }
  • KyodevKyodev Member
    avril 2014 modifié
    Suricat a écrit:
    modifier le fonction artDate() pour avoir la possibilité de mettre #num_day(1) pour supprimer le 0 ?
    voici ce que j'ai fait, pour l'obtenir en standard.

    public static function formatDate($date, $format='#num_day/#num_month/#num_year(4)') (class.plx.date.php)
    nouveau format sur le jour: #num_day(1). suppression du 0 sur les nombres à 1 chiffre

    remplacer
    [== PHP ==]
    #ligne 96
    		$format = str_replace('#num_day', $day, $format);
    
    par
    [== PHP ==]
    		$format = str_replace('#num_day(1)', preg_replace('#^0(.*)#','$1',$day), $format);
    		$format = str_replace('#num_day', $day, $format);
    

    accessoirement, compléter les commentaires:
    [== TEXT==]
    pluxml/core/lib/class.plx.show.php
    	564: * @param	format	format du texte de la date (variable: #minute, #hour, #day, #month, #num_day, #num_day(1), #num_month, #num_year(4), #num_year(2))
    	990: * @param	format	format du texte de la date (variable: #minute, #hour, #day, #month, #num_day, #num_day(1), #num_month, #num_year(2), #num_year(4))
    	1278: * @param	format    format du texte de la date (variable: #minute, #hour, #day, #month, #num_day, #num_day(1), #num_month, #num_year(4), #num_year(2))
    

    ça fonctionne et n'a pas d'incidence sur les codes existants

    Edit: correction #num_day(1) au lieu de #day(1) dans commentaires
  • StéphaneStéphane Member, Former PluXml Project Manager
    @Kyodev: ta solution est propre et me plait bien. si tu maîtrises git et github, tu peux suggérer des modifs de code en faisant des pull requests

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • SuricatSuricat Member
    avril 2014 modifié
    Merci !

    N'y a-t-il pas une petite erreur dans le pavé commentaires ? #day(1) au lieu de #num_day(1) ?
    [== Indéfini ==]
    564: * @param	format	format du texte de la date (variable: #minute, #hour, #day, #day(1), #month, #num_day, #num_month, #num_year(4), #num_year(2))
    

    au lieu de
    [== Indéfini ==]
    564: * @param	format	format du texte de la date (variable: #minute, #hour, #day, #month, #num_day, #num_day(1), #num_month, #num_year(4), #num_year(2))
    
  • KyodevKyodev Member
    avril 2014 modifié
    @Suricat, bien vu, les commentaires concernent #num_day(1) et non #day(1)

    @Stephane: https://github.com/pluxml/PluXml/pull/73
Connectez-vous ou Inscrivez-vous pour répondre.