Activité du site

Pages vues depuis Novembre 2002 : 14 210 201

  • Nb. de Membres : 7 436
  • Nb. d'Articles : 670
  • Nb. de Forums : 47
  • Nb. de Sujets : 9
  • Nb. de Critiques : 17

Top 10  Statistiques

Modéré par : Boris 
Index du Forum » » [Archives] Modules en général » » [EventCall] Amélioration du bloc => Mettre en évidence une catégorie de rdv
Auteur[EventCall] Amélioration du bloc => Mettre en évidence une catégorie de rdv
ZericK
13   

ZericK
  Posté : 16-02-2009 13:57

l'idée de départ : en un petit coup d'oeil on voit si le mois affiché dans le bloc comporte des rdv appartenant à une catégorie précise (définie dans la partie admin) ce qui évite de balader sa souris sur tous les jours du mois.

pour voir le résultat : http://portail.echiquier-nimois.com/

pour le code : trois bloc à insérer
le premier est à mettre juste après ceci (environ de la ligne 45) :

   if (!$month) $month = $m;
   if (!$year) $year = $y;


il faut mettre :

// - - - - - - - -
// modification "cat_mev" par ZericK (partie 1/3)
// - - - - - - - -
// "cat_mev" pour CAT.egorie M.ise en EV.idence
// mise en evidence des dates correspondant à une categorie de rdv
$cat_mev_flag = "oui"; // si on met "non" rien ne sera mis en evidence !
$cat_mev_legende = "oui"; // si on met "non" il n'y a pas de légende ajoutee  sous le bloc
// aller chercher manuellement dans la table "event_call_cat" le numero "cat_ id" de la categorie voulue
$cat_mev_id = "3"; // reporter manuellement ce numero ici
$cat_mev_intitule = "Légende explicative"; // mettre un intitule explicite qu i sera vu en fin de bloc
$cat_mev_initiale = "L"; // mettre une lettre symbolique qui sera dans la leg ende sous le bloc
$cat_mev_color = "blue"; // couleur d'ecriture de la date mise en evidence (à  changer selon le theme)
$cat_mev_font = "bold"; // mettre en gras la date (optionnel selon le theme)
// un petit morceau de style pour la legende
$pre_content = "\n<style>#cat_mev_td {color:$cat_mev_color;font-weight:$ca t_mev_font;}";
// et un autre pour le jour dans le calendrier
$pre_content .= "\n<style>#cat_mev_jour, #cat_mev_jour a {color:$cat_mev_c olor;font-weight:$cat_mev_font;}";
// maintenant on recupere les dates qui nous interessent
if ( $cat_mev_flag == "oui" ) {
  $tab_event[] = 1999; // pour ne pas avoir un tableau vide si pas de date da ns le mois
  $query = "select day from event_call_events where cat='$cat_mev_id' and mon th='$month' and year='$year' order by day ASC";
  $result = mysql_query($query);
  if ( mysql_num_rows($result) > 0 ) { while ($row = mysql_fetch_assoc($resul t)) { $tab_cat_event[] = $row['day']; } }
}
// - - - - - - -
// fin de modification "cat_mev" (partie 1/3)
// - - - - - - -

le deuxième bloc est à insérer juste après ceci (vers la ligne 200) :

    for ($i=1;$i<=$nr;$i++) {
      $sun = $i;
      if ($day_start == 0) $sun++;

      $content.= "

il faut mettre :

// - - - - - - -
// modification "cat_mev" (partie 2/3)
// - - - - - - -
      // on ajoute simplement un "id" à la balise "td"
      // ce qui va changer l'écriture par le style css associé (cf partie 1)
      if ( $cat_mev_flag == "oui" ) { foreach ($tab_cat_event as $le_jour) {  if ( $i == $le_jour ) { $content.= " id=\"cat_mev_jour\" "; } } }
// - - - - - - -
// fin de modification "cat_mev" (partie 2/3)
// - - - - - - -

qui va donc se retrouver avant :

     if ($i == $d && $month == $m && $year == $y) { // highlight today's day
        $content.= "bgcolor='$mini_todayclr' ";
     }

enfin le troisième va se placer tout en fin de script
juste avant la balise de fermeture de php

edit: il y a un problème d'affichage de ce bout de code
apparemment dû à une balise table qui fait foirer la mise en page
j'essaie de le faire passer dans le message suivant

...

vu comme ça , on peut trouver que c'est long et compliqué, mais trois copier/coller en faisant un peu attention, il doit y en avoir pour deux minutes maximum

PS : n'oubliez pas de régler les variables en début de script selon vos goûts ...


Message édité par : ZericK / 16-02-2009 14:13


  Profil
ZericK
13   

ZericK
  Posté : 16-02-2009 14:15

troisième bout de code à insérer (juste avant la balise fin de php) :
à cause d'un affichage "aléatoire" de ce code, j'ai ajouter ### aux endroits "sensibles"
il semblerait que les balise liées aux tables soient interprétées même au milieu d'un espace "code"

NB: enlever les ### dans le code final (celui que vous allez mettre sur votre site)


// - - - - - - -
// modification "cat_mev" par ZericK (partie 3/3)
// - - - - - - - 
  if ( $cat_mev_flag == "oui" ) {
// on rajoute tout le necessaire
   $content = $pre_content.$content;
    if ( $cat_mev_legende == "oui" ) {
// plus une legende qui "explique visuellement" la mise en evidence
    $post_content .= "<###table align='center' width=$mini_tablewidth border=0 cell spacing=0 cellpadding=2>\n";
     $post_content .= "<###tr>\n";
      $post_content .= "<###td bgcolor='$mini_weekday_eventclr' id=\"cat_mev_ td\" width=8%>";
$post_content .= "<###b>$cat_mev_initiale<###/td>\n";
      $post_content .= "<###td width=92%>$cat_mev_intitule<###/td>\n";
      $post_content .= "<###/tr>\n";
      $post_content .= "<###/table>\n";
      $content .= $post_content;
      }
    }
// - - - - - - -
// fin de modification "cat_mev" (partie 3/3)
// - - - - - - -


Message édité par : ZericK / 16-02-2009 14:43



Message édité par : ZericK / 16-02-2009 14:45


  Profil
Sauter à :