Terminliste Jahreszahl immer anzeigen

Gesperrt
nettworker
Beiträge: 2
Registriert: Mo 12. Jul 2004, 10:51
Kontaktdaten:

Terminliste Jahreszahl immer anzeigen

Beitrag von nettworker »

Hallo,

bin nun auch begeisterter Contenido-Fan. Habe da allerdings ein kleines Problem.

Ich setzte das Modul Terminliste ein und möchte nun, daß bei der Auflistung immer die Jahreszahl nach der Monat angezeigt wird. Also, nicht nur wenn Veranstaltungen in einem anderen Jahr enden.

PHP kann ich etwas, aber nicht so gut um die Änderungen im Modul selbst machen zu können.

Hat jemand einen Tipp, wie ich die Jahreszahl anzeigen lassen kann.

Danke schon mal.

Gruß
Dagmar
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

hast du auch einen link zum modul ?
*** make your own tools (wishlist :: thx)
nettworker
Beiträge: 2
Registriert: Mo 12. Jul 2004, 10:51
Kontaktdaten:

Beitrag von nettworker »

Hallo emergence,

reicht der Quellcode oder was meinst Du mit Link?

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Terminuebersicht
* Author      :     agon
* Copyright   :     Contenido - four for business
* Created     :     22-08-2002
* Modified    :     22-08-2002
************************************************/


$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen
$date = date("Y-m-d");
echo "<h3>CMS_HTMLHEAD[1]</h3>"; // Überschrift der Seite mit der Termin-Übersicht
echo '<table border=0 cellspacing=0 cellpadding=0 width=\"100%\">';

$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid
 FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
 WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang = CONTENT.idartlang
  AND ARTLANG.idlang = '".$lang."' AND CAT.idcat = '".$idcat."' AND CAT.idclient = '".$client."'
  AND ARTLANG.online = '1' AND CATART.is_start='0'
 ORDER BY ARTLANG.idart, CONTENT.typeid ASC"; // Alle Artikel der Kategorie einlesen, die nicht Startartikel (= Terminübersicht) sind
$db->query($sql);
$j=0; $anz=0;
if ($db->num_rows() != 0)
{
 $termin = array(array()); // Array erzeugen, in dem die Termine abgelegt werden;
 while ($j < $db->num_rows()) // alle Datensätze durchlaufen
 {
  $db->next_record();
  if ($db->f("idart") > $termin["idart"][$anz])
  {
   $anz++;
  }
  switch ($db->f("typeid")) {
   case 0: // Anfangstermin
    $termin["datum1"][$anz] = $db->f("value");
    $termin["jahr1"][$anz] = substr($db->f("value"),0,4);
    $termin["monat1"][$anz] = substr($db->f("value"),5,2);
    $termin["tag1"][$anz] = substr($db->f("value"),8,2);
    $termin["idart"][$anz] = $db->f("idart");
   break;
   case 1: // Anfangsuhrzeit
    $termin["zeit1"][$anz] = $db->f("value");
    $termin["datum1"][$anz] = $termin["datum1"][$anz]." ".$termin["zeit1"][$anz];
   break;
   case 2: // Endtermin
    $termin["datum2"][$anz] = $db->f("value");
    $termin["jahr2"][$anz] = substr($db->f("value"),0,4);
    $termin["monat2"][$anz] = substr($db->f("value"),5,2);
    $termin["tag2"][$anz] = substr($db->f("value"),8,2);
   break;
   case 3: // Enduhrzeit
    $termin["zeit2"][$anz] = $db->f("value");
    $termin["datum2"][$anz] = $termin["datum2"][$anz]." ".$termin["zeit2"][$anz];
   break;
   case 4: // Ort
    $termin["ort"][$anz] = $db->f("value");
   break;
   case 6: // Titel
    $termin["titel"][$anz] = $db->f("value");
   break;
  }
  $j++;
 }
 array_multisort ( $termin["datum1"], SORT_ASC, SORT_STRING, $termin["datum2"], SORT_ASC, SORT_STRING,
  $termin["jahr1"], $termin["monat1"], $termin["tag1"], $termin["zeit1"],
  $termin["jahr2"], $termin["monat2"], $termin["tag2"], $termin["zeit2"],
  $termin["idart"], $termin["ort"], $termin["titel"] ); // nach Datum sortieren
 for ($i=0; $i<=$anz; $i++)
 {
  if ( $termin["datum1"][$i] >= $date || $termin[$i]["datum2"] >= $date ) // nur Termine, die noch aktuell sind, aufnehmen
  {
   if ( $termin["monat1"][$i] !== $termin["monat1"][$i-1] || $gefunden == 0 ) // überprüfen, ob Monatsnahme einzufügen ist
   {
    echo ' <tr>
  <td colspan=6><img border="0" src="images/2.gif" width="100%" height="2" class="line">
 </tr>
 <tr>
  <td colspan=6><h4>';
    switch ($termin["monat1"][$i]) {
     case 1: echo "Januar"; break;
     case 2: echo "Februar"; break;
     case 3: echo "März"; break;
     case 4: echo "April"; break;
     case 5: echo "Mai"; break;
     case 6: echo "Juni"; break;
     case 7: echo "Juli"; break;
     case 8: echo "August"; break;
     case 9: echo "September"; break;
     case 10: echo "Oktober"; break;
     case 11: echo "November"; break;
     case 12: echo "Dezember"; break; }
    if ( $i>1 && $termin["jahr1"][$i] != $termin["jahr2"][$i-1] ) // überprüfen, ob Jahr einzufügen ist
    {
     echo ' '.$termin["jahr2"][$i];
    }
    echo '</h4></td>
 </tr>';
   }
   $gefunden=1;
   echo ' <tr>
  <td nowrap><p id="font">'.$termin["tag1"][$i].'.'; // Anfangsdatum ausgeben
   if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben
   {
    echo '</p></td><td nowrap><p> ['.$termin["zeit1"][$i].' h]';
   } elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben
   {
    echo ' &#8211;<br>  '.$termin["tag2"][$i].'.';
    if ( $termin["monat2"][$i] != $termin["monat1"][$i]) // falls Enddatum nicht im gleichem Monat
    {
     echo $termin["monat2"][$i].'.';
     if ( $termin["jahr2"][$i] != $termin["jahr1"][$i]) // falls Enddatum nicht im gleichen Jahr
     {
      echo substr($termin["jahr2"][$i],2,2).'.';
     }
    }
    echo '</p></td><td><p>';
   } else
   {
    echo '</p></td><td><p>';
   }
   $navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i]."";
   echo '</p></td>
  <td><img border="0" src="images/2.gif" width="8" height="1"></td>
  <td><p id="font">'.urldecode($termin["ort"][$i]).'</p></td>
  <td><img border="0" src="images/2.gif" width="8" height="1"></td>
  <td width="65%"><p><b><a href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a></b></p></td>
 </tr>';
  }
 }
}
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt
{
 echo ' <tr>
  <td colspan=5><b>Es liegen aktuell keine Termine vor!</b></td>
 </tr>';
}
?>
</table>

emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

nettworker hat geschrieben:reicht der Quellcode oder was meinst Du mit Link?
quelltext tuts auch... das suchen im forum, genau nach dem modul welches du verwendest, wird sonst nach ner suche nach der nadel im heuhaufen...
*** make your own tools (wishlist :: thx)
Gesperrt