Terminmodul mit allen Terminen

apicalart
Beiträge: 161
Registriert: Fr 18. Mär 2005, 13:09
Wohnort: Linnich ( NRW )
Kontaktdaten:

Termineingabe und XHTML

Beitrag von apicalart » Do 18. Mai 2006, 12:34

Hallo an alle
und ein Lob an die Rezeption des Hauses


Ich habe im Moment noch 2 Problemchen mit dem Modul

[ Gelöst ] 1. Beim Validieren der Termineingabeseite bekomme nach einigen Änderungen nun nur noch folgenden Fehler:


<base href="">

You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".

Frage : Woher zieht er sich in deinem Modul das base href, Die include.con_editcontent.php ist es jedenfalls nicht, da habe ich dass nämlich schon geändert.

Bearbeitet : Und dann ist da der böse Cash und der hat mich aufs Kreuz gelegt. Also in der o.g. Datei muss man <base href="..."> einfach zu <base href="..." /> ändern und schon klappt es auch mit dem validieren.



2. Ich habe auch ein inkontinentes :wink: multisort

Warning: array_multisort(): Array sizes are inconsistent

Ich habe mich ebenfalls durch die ganzen Posts durchgewüllt und die div. Änderungen gemacht ( z.B. cInclude ... class.client.php )
Es will einfach nicht klappen :shock:
Zuletzt geändert von apicalart am So 28. Mai 2006, 22:26, insgesamt 1-mal geändert.
Dat gijjt et doch nit wirklich, odder !

Grüsse aus dem Rheinland
http://www.eukoba.de

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » So 28. Mai 2006, 16:47

Hast du mal nen Link per PM ??
greets

rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist » Mo 29. Mai 2006, 10:31

Ok nun gehts
habe eine Änderung im ersten Post eingesetzt und die Aänderungen von apicalart gleich drin gelassen.
greets

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Sortierung der Termine

Beitrag von kenzo » Di 13. Jun 2006, 15:45

Hi ,

kann machen was ich will.
Ich bekomme die Sortierung einfach nicht hin.
Im Forum habe ich gesucht, so richtig aber hat mir das nicht geholfen.
@rezeptionist
Kannst Du wieder mal aus der Patsche helfen?

Wir es momentan aussieht siehst Du hier:

Das Layout passt prima, ist halt nur die falsche Reihenfolge.

THX im Voraus


http://www.tischlerei-koehler.de/cms/fr ... ?idcat=105

Das ist der Output:

Code: Alles auswählen

<?php 
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen 
$date = date("Y-m-d"); 
echo '<div>'; 

$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid, ARTLANG.idartlang 
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= -1; 
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 (isStartArticle($db->f("idartlang"),$idcat,$lang)==FALSE) 
{ 
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,0); 
$termin["monat2"][$anz] = substr($db->f("value"),0,0); 
$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_DESC, 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]["datum1"] <= $date || $termin[$i]["datum2"] <= $date || $termin[$i]["datum2"] <= $date ) // nur Termine, die noch aktuell sind, aufnehmen 
{ 
if ( $termin["monat1"][$i] !== $termin["monat1"][$i-1] || $termin["jahr1"][$i] !== $termin["jahr1"][$i-1] || $gefunden == 0 ) // überprüfen, ob Monatsnahme einzufügen ist 
{ 
echo ' 

<div class="monjahr" style="border-bottom:#000000 2px solid;font-weight:bold;">'; 
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; } 

echo ' '.$termin["jahr1"][$i]; 
echo '</div>'; 
} 
$gefunden=1; 
$navmod_link ="front_content.php?&idcat=".$navmod_id."&idart=".$termin["idart"][$i].""; 
echo ' 

<div class="details" ><a href="'.$sess->url("$navmod_link").'" id="font">'.urldecode($termin["titel"][$i]).'</a></div> 
<div class="ort" >'.urldecode($termin["ort"][$i]).'</div> 
<div class="termine">'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4); // Anfangsdatum ausgeben 
if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben 
{ 
echo '</div><div class="zeit"> '.$termin["zeit1"][$i].' Uhr</div>'; 
} 
elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben 
{ 
echo ' bis '.substr($termin["datum2"][$i],8,2).'.'.substr($termin["datum2"][$i],5,2).'.'.substr($termin["datum2"][$i],0,4); 
if ( $termin["monat2"][$i] != $termin["monat1"][$i]) // falls Enddatum nicht im gleichem Monat 
{ 
echo $termin["monat2"][$i].'</div>'; 
if ( $termin["jahr2"][$i] != $termin["jahr1"][$i]) // falls Enddatum nicht im gleichen Jahr 
{ 
echo substr($termin["jahr2"][$i],0,0).''; 
} 
} 
echo ''; 
} 
else 
{ 
echo '</div>'; 
} 
echo ''; 
} 
} 
} 
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt 
{ 
echo ' <div><b>Es liegen aktuell keine Termine vor!</b></div>'; 
} 
?> 
</div>

cassiopeia
Beiträge: 16
Registriert: Mi 18. Mai 2005, 21:12
Kontaktdaten:

Beitrag von cassiopeia » Di 13. Jun 2006, 20:00

zuerst mal "1000DANK" für dieses schöne Modul - habs gerade installiert (Version aus dem 1.Post) und funktioniert auf Anhieb prima > 4.6.8!

Ein kleines Problem gibt es allerdings noch mit der Sortierung :

Die Ausgabe der Monate erfolgt "richtigrum": Also z.B. oben Juni 2006, darunter Juli, August etc.

Die Termine innerhalb eines Monats werden chronologisch genau "andersrum" ausgegeben: z.B. oben der 25.06. und darunter der 15.06.

Ist das noch irgendwie in den Griff zu kriegen? Dann wäre es perfekt!!!

Ich hab versuchshalber in Zeile 67 mal SORT_ASC in SORT_DESC geändert: Reaktion = Null, bleibt alles wie es war!
:oops:
Gruß und DANKE
CP
Erfahrung ist eine nützliche Sache.
Leider macht man sie immer erst kurz nachdem man sie brauchte.

kenzo
Beiträge: 112
Registriert: Di 8. Jul 2003, 19:46
Kontaktdaten:

Kannst Du?

Beitrag von kenzo » Mi 14. Jun 2006, 11:34

Hi Cassiopaia,

Code: Alles auswählen

habs gerade installiert (Version aus dem 1.Post) und funktioniert auf Anhieb prima > 4.6.8! 
das habe ich auch gemacht, bei mir hat er allerdings die Monate nicht sortiert.

kann ich deinen Output mal benutzen?

THX

cassiopeia
Beiträge: 16
Registriert: Mi 18. Mai 2005, 21:12
Kontaktdaten:

Beitrag von cassiopeia » Mi 14. Jun 2006, 15:31

@ kenzo

Es ist exakt der Output von Seite1/Post1 in diesem Thread. Habe nichts geändert!

Seit ich auf der Übersichtseite nun auch eine separate HTML-Überschrift habe, funktioniert die Sortierung komplett - ich weiß zwar nicht warum (hat wohl was mit dem $array_multisort = array zu tun), aber mein obiges Posting hat sich damit erledigt.

TOLLES MODUL! :)

Gruß CP
Erfahrung ist eine nützliche Sache.
Leider macht man sie immer erst kurz nachdem man sie brauchte.

blackelementz
Beiträge: 106
Registriert: Di 27. Sep 2005, 13:53
Kontaktdaten:

Beitrag von blackelementz » Do 15. Jun 2006, 17:37

Hallo,

vielen Dank erstmal für das Modul.

Hab ne kleine frage. Kann ich die terminübersicht in mehreren Seiten einbinden?

Würde diese gerne auf Startseite und anderen unterseiten immer Links Teaserartig einbinden.

Vielen Dank

blackelementz
Beiträge: 106
Registriert: Di 27. Sep 2005, 13:53
Kontaktdaten:

Beitrag von blackelementz » Mi 28. Jun 2006, 13:56

Hallo,

würde das Termin Modul gerne noch ein wenig modifizieren.

Und zwar möchte ich gerne Artikel Release Dates anzeigen lassen.

Code: Alles auswählen

Juli 2006

14.07.2006 in

Massiv - Blut gegen Blut
Öffnet die Termindetails zu Massiv - Blut gegen Blut weitere Informationen ...
die Ausgabe die auf der Website angezeigt werden sollen soll folgendermaßen aussehen...

Code: Alles auswählen


Monat Jahr

Datum
Bild + Titel (Überschrift)
(Verlinkung definierbar) mehr
Als Alternative müsste es auch möglich sein das kein genaues Datum sondern Quartale angegeben werden.

als Beispiel

Code: Alles auswählen


Quartal (1,2,3,4) Jahr

Datum
Bild + Titel (Überschrift)
(Verlinkung definierbar) mehr

Würde mich sehr freuen wenn mir jemand helfen könnte wie ich das realisieren kann.

Gruß

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Probleme mit der Sortierung

Beitrag von BagHira » Di 4. Jul 2006, 19:08

Hallo zusammen,

ich hab etliche Probleme mit der Sortierung der Monate, wie auch der Termine innerhalb eines Monats...

Ich komm einfach nicht zur Lösung :?:

Zu sehen hier : http://www.kunstwerkstatt-tirschenreuth ... p?idcat=77

Bin für jede Hilfe Dankbar

Hat sich erledigt, ich verwende nun den Code aus http://www.contenido.org/forum/viewtopic.php?t=13260

Trotzdem vielen Dank :wink:
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

Deddy
Beiträge: 79
Registriert: Do 1. Jun 2006, 09:00
Kontaktdaten:

Beitrag von Deddy » Di 24. Okt 2006, 06:42

Hallo!

Ich habe mehrere Sprachen mit Contenido umgesetzt. Um Seiten in eine neue Sprache mit zu übernehmen habe ich doch die Möglichkeit das über synchronisieren zu tun.

Ich habe dieses Terminmodul eingesetzt. Da ich jetzt ca. 100 Termine eingetragen habe, ist es sehr aufwendig für jede Sprache die ganzen Termine zu übernehmen.

Gibt es hier eine einfachere Lösung? Kann ich die Termine in die deutsche Seite eintragen und dann einfach in die anderen Sprachen übernehmen?

Gruß Deddy

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Fr 11. Mai 2007, 10:08

hallo,

hoffe, der thread ist noch nicht geschlossen, da die letzten posts schon 1 jahr alt sind ...

habe mir die zwei module auf contenido 4.6.15 erstellt und die eingabe (und ausgabe des letzten termins) funktioniert auch problemlos aber ich bekomme immer eine leere terminliste angezeigt. hat das etwas mit der hirarchie der kategorien zu tun?
momentan habe ich einen hauptmenüpunkt (kategorie) "terminverwaltung" und darunter liegen die kategorien (und damit module) "terminliste" und "terminausgabe".
ist etwas konfus, ich weiss, aber nur für testzwecke ... :D

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

Lupus
Beiträge: 20
Registriert: Fr 11. Mai 2007, 12:26
Wohnort: bei Fulda
Kontaktdaten:

Beitrag von Lupus » Fr 11. Mai 2007, 12:33

Hallo,

das hoffe ich auch, denn ich nutze die gleiche Version und habe das gleiche Problem ...
Schade, wenn es an der Version liegen würde, denn das Modul ist top.

Kann in der DB übrigens keine entsprechende Tabelle finden :shock:

Gruß

Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari » Fr 11. Mai 2007, 14:11

hi lupus,

habe jetzt die terminverwaltung von schlaucher zum laufen gekriegt. versuchs mal mit der. siehe startseite module 4.6.x
eigene datenbank tabellen gibts nicht, da alle relevanten daten in die tabelle con_content eingetragen werden.

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.

DEDE
Beiträge: 314
Registriert: Do 19. Feb 2004, 16:15
Kontaktdaten:

Sortiert?

Beitrag von DEDE » Mi 22. Aug 2007, 20:03

Liebe Wissende ...
ich suche mir den Wolf und finde die Ursache nicht, dass meine VErsion die Termine nicht sortiert:
http://www.gruene-ebe.de/464cms/gruen/f ... =15&lang=2

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* Terminübersicht 
* Modulname   :     Terminmodul mit allen Terminen 
* Author        :   agon 
* Copyright   :     Contenido - four for business 
* Created     :     22-08-2002 
* Modified    :     Rezeptionist 
* xhtml valide  :   apicalart  
************************************************/ 
cInclude('classes', 'contenido/class.client.php');  
$gefunden=0; // um zu überprüfen, ob überhaupt Termine vorliegen 
$date = date("Y-m-d"); 
  


$sql = "SELECT ARTLANG.idart, CONTENT.value, CONTENT.typeid, ARTLANG.idartlang 
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,0); 
    $termin["monat2"][$anz] = substr($db->f("value"),0,0); 
    $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 = array( $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]["datum1"] >= $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 ' <div class="monat"><h3>'; 
    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; } 
     echo ' '.$termin["jahr1"][$i]; 
    
    echo '</h1></div>'; 
   } 
   $gefunden=1; 
   echo '<div class="event_info"> <div><p><strong>'.substr($termin["datum1"][$i],8,2).'.'.substr($termin["datum1"][$i],5,2).'.'.substr($termin["datum1"][$i],0,4); // Anfangsdatum ausgeben 
   if ( strlen($termin["tag2"][$i]) < 2 && strlen($termin["zeit1"][$i]) >1 ) // falls kein Enddatum (Eintagestermin), aber Anfangszeit, diese ausgeben 
   { 
    echo '     '.$termin["zeit1"][$i].' Uhr'; 
   } elseif ( strlen($termin["tag2"][$i]) > 1 ) // falls Enddatum (Mehrtagestermin), dieses ausgeben 
   { 
    echo ' – '.substr($termin["datum2"][$i],8,2).'.'.substr($termin["datum2"][$i],5,2).'.'.substr($termin["datum2"][$i],0,4); 
    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],0,0).''; 
     } 
    } 
    echo ''; 
   } else 
   { 
    echo ''; 
   } 
   $navmod_link ="front_content.php?client=".$client."?=".$lang."&idcat=".$idcat."&idart=".$termin["idart"][$i].""; 
   echo ' in  
  '.urldecode($termin["ort"][$i]).'</strong></p></div> 
  <div class="title"><p>'.urldecode($termin["titel"][$i]).'<br /><a class="archiv" href="'.$sess->url("$navmod_link").'">weitere Informationen ...</a></p></div></div>'; 
  } 
 } 
} 
if ( $gefunden == 0 ) // falls kein aktueller Termin vorliegt 
{ 
 echo ' <div class="keine"><p>Es liegen aktuell keine Termine oder Veranstaltungen vor!</p></div>'; 

} 

?> 
( Version 4.6.8 )

Dicken frohen Dank für Eure Tipps

Dede

Gesperrt