SPIP-Contrib - commentaires La date/heure via un menu déroulant pour les champs extra 2011-04-22T11:10:49Z https://files.spip.org/La-date-heure-via-un-menu#comment444709 2011-04-22T11:10:49Z <p>Bonjour, est-il possible d'adapter cette contrib à champs extra 2<small class="fine d-inline"> </small>?</p> La date/heure via un menu déroulant pour les champs extra 2011-04-10T22:06:20Z https://files.spip.org/La-date-heure-via-un-menu#comment444066 2011-04-10T22:06:20Z <p>Merci pour cette contrib<small class="fine d-inline"> </small>!</p> <p>Petite question :</p> <p>Mon but est de lister des évènements :<br class="autobr"> je souhaiterais via une boucle spip <br>- afficher SEULEMENT les articles dont la date et heure de fin n'est pas dépassée <br>- lister ces articles par date et heure de début (du plus proche au plus tard)</p> <p>Avez-vous des astuces<small class="fine d-inline"> </small>?</p> <p>Merci beaucoup pour le coup de main<small class="fine d-inline"> </small>!</p> La date/heure via un menu déroulant pour les champs extra 2009-05-05T13:58:33Z https://files.spip.org/La-date-heure-via-un-menu#comment416042 2009-05-05T13:58:33Z <p>Ben moi j'adore, ça m'aide beaucoup<small class="fine d-inline"> </small>!<br class="autobr"> Par contre je n'ai installé que la date et constaté une erreur.....</p> <p>Il faut absolument créer un champ caché : <input name="suppl_$champ" type="hidden" value=""><br class="autobr"> Sinon, ça ne marche pas.... cad que le stockage de la saisie en bdd ne se fait pas...</p> <p>Le code devient alors, avec 2 ou 3 menues amélioration de style... : <br class="autobr"> Dans le fichier extras.php<br class="autobr"> Dans la fonction extra_form<br class="autobr"> Dans le switch/case, au-dessus de case « ligne » :</p> <hr class="spip"><div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> case "date": $choix = explode(",",$choix); if (!is_array($choix)) { $affiche .= "Pas de choix d&eacute;finis.\n"; break; } // si valeur okay alors : $tempori = $extra["$champ"]; $tempori = explode("-", $tempori); $affiche .= "<INPUT NAME='suppl_$champ' type='hidden' />"; $affiche .= "<SELECT NAME='suppl_j_$champ' style='width: 40px;'>"; $affiche .= "<OPTION VALUE='0'>--</option>"; for ($i="1"; $i < "32"; $i++){ if($tempori[2]*1==$i){ $selectj="SELECTED"; } else { $selectj=""; } $affiche .= "<OPTION VALUE='$i' $selectj>$i</option>"; } $affiche .= "</SELECT>"; $mois = array('', 'Janvier','Fevrier','Mars','Avril','Mai','Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre'); $affiche .= "<SELECT NAME='suppl_m_$champ' style='width: 80px;'>"; $affiche .= "<OPTION VALUE='0'>--</option>"; for ($i="1"; $i < "13"; $i++){ $affiche_mois = $mois[$i]; if($tempori[1]*1==$i){ $selectm="SELECTED"; } else { $selectm=""; } $affiche .= "<OPTION VALUE='$i' $selectm>$affiche_mois</option>"; } $affiche .= "</SELECT>"; $year = date("Y"); $affiche .= "<SELECT NAME='suppl_a_$champ' style='width: 60px;'>"; $affiche .= "<OPTION VALUE='0'>--</option>"; for ($i="$year" ; $i < $year+10; $i++){ if($tempori[0]==$i){ $selecta="SELECTED"; } else { $selecta=""; } $affiche .= "<OPTION VALUE='$i' $selecta>$i</option>"; } $affiche .= "</SELECT>\n"; break;</code></pre></div><hr class="spip"> <p>D'autre part, dans la fonction de traitement, j'ai simplifié les choses et veillé à ce qu'il y ait bien un formatage AAAA-MM-JJ....</p> <p>Ca donne :</p> <p>Dans le fichier extras.php<br class="autobr"> Dans la fonction extra_recup_saisie<br class="autobr"> Dans le switch/case, au-dessus de case 'case' :</p> <hr class="spip"><div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code> case "date": $j=$GLOBALS["suppl_j_$champ"]; $m=$GLOBALS["suppl_m_$champ"]; $a=$GLOBALS["suppl_a_$champ"]; if ($j*1<10){ $j="0".$j*1; } if ($m*1<10){ $m="0".$j*1; } if ($a=="0"){ $a="0000"; } $extra[$champ] = $a."-".$m."-".$j; break; </code></pre></div><hr class="spip"> <p>Hope it helps<small class="fine d-inline"> </small>!</p> La date/heure via un menu déroulant pour les champs extra 2008-03-21T12:46:21Z https://files.spip.org/La-date-heure-via-un-menu#comment404248 2008-03-21T12:46:21Z <p>pff c'est bien compliqué tout ca, ou en tout cas super long pour ce que c'est</p> La date/heure via un menu déroulant pour les champs extra 2006-01-26T10:23:31Z https://files.spip.org/La-date-heure-via-un-menu#comment385266 2006-01-26T10:23:31Z <p>C'est une erreur de considérer que 00h00m00s est NC NC NC</p> <p>Si on peut se passer des secondes, il vaudrait mieux considérer que</p> <ul class="spip"><li> si les secondes valent 0, c'est NChNCm</li><li> si elles valent autre chose que 0 (autant mettre 1), alors les valeurs de h et m sont renseignées</li></ul> <p>Cela permet d'avoir une heure renseignée à 00h00m (genre le 1<sup class="typo_exposants">er</sup> de l'An).</p>