Seite 4 von 5

Termineingabe und XHTML

Verfasst: Do 18. Mai 2006, 12:34
von apicalart
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:

Verfasst: So 28. Mai 2006, 16:47
von rezeptionist
Hast du mal nen Link per PM ??

Verfasst: Mo 29. Mai 2006, 10:31
von rezeptionist
Ok nun gehts
habe eine Änderung im ersten Post eingesetzt und die Aänderungen von apicalart gleich drin gelassen.

Sortierung der Termine

Verfasst: Di 13. Jun 2006, 15:45
von kenzo
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>

Verfasst: Di 13. Jun 2006, 20:00
von cassiopeia
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

Kannst Du?

Verfasst: Mi 14. Jun 2006, 11:34
von kenzo
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

Verfasst: Mi 14. Jun 2006, 15:31
von cassiopeia
@ 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

Verfasst: Do 15. Jun 2006, 17:37
von blackelementz
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

Verfasst: Mi 28. Jun 2006, 13:56
von blackelementz
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ß

Probleme mit der Sortierung

Verfasst: Di 4. Jul 2006, 19:08
von BagHira
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:

Verfasst: Di 24. Okt 2006, 06:42
von Deddy
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

Verfasst: Fr 11. Mai 2007, 10:08
von Vetinari
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.

Verfasst: Fr 11. Mai 2007, 12:33
von Lupus
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ß

Verfasst: Fr 11. Mai 2007, 14:11
von Vetinari
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.

Sortiert?

Verfasst: Mi 22. Aug 2007, 20:03
von DEDE
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