Bonjour, vous allez bien ? :-) ?
Déjà je tiens à dire que ce tutoriel http://www.grafikart.fr/tutoriels/php/calendrier-php-157 est magnifique ! Bravo Grafikart :)
J'ai tout réussi, tout fonctionne, j'ai réussi à créer mon propre calendrier à l'aide du tutoriel, mais maintenant j'ai un petit problème, j'aimerai que le calendrier m'affiche quel jour ont est vous allez me dire fait ça :
<?php echo date('Y'); ?>
Si vous avez penser ça c'est que vous avez pas compris ma demande.
Dans le script que Grafikart propose il affiche tout de suite Janvier alors que je veux qu'il affiche le mois pour le quel ont est aujourd'hui, vous me suivez ?
Exemple en image : (la il m'affiche janvier alors que je veux qu'il m'affiche le mois pour le quel ont était aujourd'hui par exemple Décembre et si ont était en Mars il m'aurait afficher Mars)
Si vous voulez le code pour comprendre dites le moi :)
Merci à vous, bonne soirée :))
Il m'indique la bonne date et la bonne heure ;-)
Il m'indique bien qu'on est le 27 décembre 2014
Voici le code :
<div class="position-calendar">
<div id="calendar-top">
<h1><?php echo $year; ?></h1>
</div>
<div class="calendar-month">
<div class="calendar-month-center">
<div class="months">
<?php foreach ($date->months as $id=>$m): ?>
<a href="#" id="linkMonth<?php echo $id+1; ?>">
<div class="calendar-month-button">
<?php echo utf8_encode(substr(utf8_decode($m),0,3)); ?>
</div>
</a>
<?php endforeach; ?>
</div>
</div>
</div>
<div class="calendar-bloc-container">
<div class="calendar-bloc-position">
<?php $dates = current($dates); ?>
<?php foreach ($dates as $m=>$days): ?>
<div class="month relative" id="month<?php echo $m; ?>">
<?php foreach ($date->days as $d): ?>
<?php endforeach; ?>
<?php $end = end($days); foreach($days as $d=>$w): ?>
<?php $time = strtotime("$year-$m-$d"); ?>
<?php if($d == 1 && $w != 1): ?>
<td colspan="<?php echo $w-1; ?>" class="padding"></td>
<?php endif; ?>
<div class="events">
<?php if(isset($events[$time])) foreach($events[$time] as $e){ ?>
<a href="<?php echo $e; ?>"><div class="calendar-bloc-selection"><?php echo $d; ?></div></a>
<?php } else { ?>
<?php
if($time == strtotime(date('Y-m-d'))){
?>
<div class="calendar-bloc-today"><?php echo $d; ?></div>
<?php } else { ?>
<div class="calendar-bloc"><?php echo $d; ?></div>
<?php } ?>
<?php } ?>
</div>
<?php if($w == 7): ?>
<?php endif; ?>
<?php endforeach; ?>
<?php if($end != 7): ?>
<td colspan="<?php echo 7-$end; ?>" class="padding"></td>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
Peut être que sa ce situe dans le javascript pour l'affichage donc tiens :
<script type="text/javascript">
jQuery(function($){
$('.month').hide();
$('.month:first').show();
$('.months a:first').addClass('active');
var current = 1;
$('.months a').click(function(){
var month = $(this).attr('id').replace('linkMonth','');
if(month != current){
$('#month'+current).slideUp();
$('#month'+month).slideDown();
$('.months a').removeClass('active');
$('.months a#linkMonth'+month).addClass('active');
current = month;
}
return false;
});
});
</script>
Bonsoir.
Cela se passe bien dans le javascript, plus précisément ici :
$('.month:first').show();
$('.months a:first').addClass('active');
Il te faut donc modifier cette partie pour afficher par défaut le mois courant.
Ce n'est pas seulement sur le show(), mais aussi sur le addClass() qu'il faut agir.
Car comme tu peux le voir, le javascript prend le premier élément ayant la classe month pour l'afficher et ensuite il prend le premier lien se trouvant dans l'élément ayant la classe months et lui ajoute la classe active.
Donc, pour t'aider à trouver comment faire pour modifier le comportement de ces deux lignes, tu peux te référer à la partie plus basse.