Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Di 22. Aug 2006, 14:31

Freddy hat geschrieben:Hallo,
habe folgendes Problem. Wenn ich einen neuen Termin eingebe und mit "abschicken" bestätige funktioniert alles bestens. Sobald ich denn auf den Button "save" klicke wird die Startzeit nicht angezeigt sondern nur die Endzeit. Und wenn ich über den Kalender den Termin anklicke wird unter Uhrzeit "ganztägig" angezeit. Wenn ich aber dann auf mehr Infos gehe wird auch die Startzeit angezeigt.
Ich benutze die Version 2.1.1 und Contenido ModRewrite 4.6.8
Problem:
Im Template des Artikels war neben dem Termineingabe/ausgabe Modul zusätzlich ein "HTML Headline" und ein "HTML Text" Modul definiert.
Dadurch wurden in der Tabelle con_content für den Artikel einige Datensätze doppelt angelegt, die sich anschl. gegenseitig überschrieben.

Lösung:
In den Modulen der Terminliste wird nun nach dem Feld idtype gefiltert. Dadurch kommen sich doppelte Datensätze nicht in die Quere.

Die gefixten Module (Version 2.2) können wie immer hier gedownloadet werden.

Gruß
schlaucher

Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper » Mi 23. Aug 2006, 16:14

Also ich hatte vorher die Version 2.1 installiert, da blieben die Formular felder stehen wenn ich abschicken gedrückt habe, aber wenn ich es dann nochmal geöffnet habe waren sie wieder leer.

Danach Link und Beschreibung hat er problemlos gespeichert egal ob hinterher oder vorher, sprich ich habe erst auf Absenden vom Formular gedrückt etc..

Auf jedenfall hat er trotzdem angezeigt das keine Artikel vorhanden sind ..

komisch ist wenn ich dann 3 mal das eingegeben hatte, stand wenn ich unter artikelliste das Element aussuche nach dem er die Artikel anzeigt waren
die CMS_TEXT felder alle 3 mal da also CMS_TEXT[1]CMS_TEXT[1] teilweise auch mit unterschiedlichen Inhalten wenn ich da was anderes eingegeben hab beim nächsten mal.

Habe Contenido 4.6.8 und ansonsten nur Article List Advanced und Hauptnavigation an anderen Modulen.

Ein Template mit der News List ist der Startartikel der Nachrichten Kategorie
und ein weiter Artikel mit dem Kalender eingabe ausgabe ist auch in der Kategorie Nachrichten.


Jetzt habe ich auf Version 2.2. geupdatet (vieleicht sollte ich die Module lieber nochmal ganz löschen und neu einstellen) nun geht der Kalender nicht mehr und meldet 1000 mal
Warning: in_array(): Wrong datatype for second argument in /home/chtdocs/contenido/blub/front_content.php(792) : eval()'d code on line 782

Die neue Uhr rechts zum eingeben der Zeit funzt auch nicht, aber wie gesagt werde erstmal die Module nochmal ganz neu importieren und die alten artikel löschen, mal sehen obs hilft .. (wobei das Formular auch beim neuen noch leer bleibt) .

MfG
Chopper

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Do 24. Aug 2006, 09:33

Hallo,
zuerst möchte ich ein dickes Lob und Dank an schlaucher aussprechen für seinen Einsatz hier im Forum und ganz Individuell.

Habe noch eine Frage zum Modul:
1. Ist es eigentlich möglich, dass wenn der Termin nur an einem Tag ist auch nur einmal das Datum in der Terminliste und bei der Detailansicht angezeigt wird.
2. Die Auflistung der Termine in der Terminliste genau andersrum. Das der ältere Termin unten ist.

Habe vielleicht noch ein Bug mit V.2.2 bemerkt:
Habe einen Termin angelegt und bemerkt das ich das falsche Datum eingegeben hatte. Dann neues Datum eingegeben und es wurde überall geändert außer bei Detailansicht. Habe dann Artikel gelöscht und neu angelegt, dann ging es.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Do 24. Aug 2006, 10:01

Freddy hat geschrieben:Hallo,
Habe noch eine Frage zum Modul:
1. Ist es eigentlich möglich, dass wenn der Termin nur an einem Tag ist auch nur einmal das Datum in der Terminliste und bei der Detailansicht angezeigt wird.
2. Die Auflistung der Termine in der Terminliste genau andersrum. Das der ältere Termin unten ist.
Hi Freddy

danke für das Lob.

Deine erste Frage habe ich leider nicht ganz verstanden. Hast Du da ein Beispiel für mich?

Zur zweiten Frage: ja
In den Modulen Terminliste und Teaser gibt es eine Zeile mit der Funktion
array_multisort (). Dort must Du für $MOD_TL_termine["datum1"] die Sortierung SORT_DESC eintragen.

Ist

Code: Alles auswählen

        array_multisort (   $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING, 
                            $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                            $MOD_TL_termine["zeit1"], 
                            ... )
Soll

Code: Alles auswählen

        array_multisort (   $MOD_TL_termine["datum1"], SORT_DESC, SORT_STRING, 
                            $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                            $MOD_TL_termine["zeit1"], 
                            ... )
Habe vielleicht noch ein Bug mit V.2.2 bemerkt:
Habe einen Termin angelegt und bemerkt das ich das falsche Datum eingegeben hatte. Dann neues Datum eingegeben und es wurde überall geändert außer bei Detailansicht. Habe dann Artikel gelöscht und neu angelegt, dann ging es.
@Chopper
Das könnte auch mit deinem Fehler zusammenhängen!

Ja, bin gerade auf der Suche. Es werden in der Tabelle con_content für einen Artikel manchmal doppelte Datensätze angelegt. Als Abhilfe habe ich in der Datenbank ein UNIQUE über 3 Felder gelegt, damit das nicht passieren kann. Das geht aber nur, wenn keine doppelten Datensätze vorhanden sind.

Code: Alles auswählen

ALTER TABLE `con_content` ADD UNIQUE `UN_ID_TYPE_ID` ( `idartlang` , `idtype` , `typeid` ) 
Habe dazu auch eine Frage im Misc Bereich laufen, mal sehen, was die Experten meinen.

Gruß
schlaucher

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Do 24. Aug 2006, 14:33

schlaucher hat geschrieben:Deine erste Frage habe ich leider nicht ganz verstanden. Hast Du da ein Beispiel für mich?
Sorry, ich hab da immer so meine Probleme mit Beschreiben. :oops:
In der Terminliste steht z.B. 12.08. - 12.08 und in der Detailansicht Samstag, 12.08.2006 12:00 Uhr bis Samstag, 12.08.2006. Ich finde es etwas verwirrend für den User und hätte gerne in der Terminliste nur 12.08. stehen wenn sich der Termin nicht über paar Tage streckt bzw. in der Detailansicht Samstag, 12.08.2006 12:00 Uhr.
Ich hoffe das es jetzt etwas verständlicher war.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Do 24. Aug 2006, 14:59

Freddy hat geschrieben:In der Terminliste steht z.B. 12.08. - 12.08 und in der Detailansicht Samstag, 12.08.2006 12:00 Uhr bis Samstag, 12.08.2006. Ich finde es etwas verwirrend für den User und hätte gerne in der Terminliste nur 12.08. stehen wenn sich der Termin nicht über paar Tage streckt bzw. in der Detailansicht Samstag, 12.08.2006 12:00 Uhr.
Ich hoffe das es jetzt etwas verständlicher war.
Wenn der Termin nur einen Tag dauert, kannst du einfach das Feld End-Datum leer lassen. Dann wird auch nur ein Datum angezeigt.

Gruß
schlaucher

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Do 24. Aug 2006, 15:03

schlaucher hat geschrieben:Wenn der Termin nur einen Tag dauert, kannst du einfach das Feld End-Datum leer lassen. Dann wird auch nur ein Datum angezeigt.
Und wie mach ich es in der Detailansicht. Dafür gibt es doch kein HTML-Template.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Do 24. Aug 2006, 16:06

Freddy hat geschrieben:Und wie mach ich es in der Detailansicht. Dafür gibt es doch kein HTML-Template.
Das macht doch das Mudul für dich. Hier mal der Code, der dafür verantwortlich ist:

Code: Alles auswählen

    if (strlen("CMS_TEXT[1]") > 1) { $MOD_TE_zeit1 = " CMS_TEXT[1] Uhr"; } else { $MOD_TE_zeit1 = ''; }
    if (strlen("CMS_TEXT[3]") > 1) { $MOD_TE_zeit2 = " CMS_TEXT[3] Uhr"; } else { $MOD_TE_zeit2 = ''; }

    if ("CMS_TEXT[10]" == 'no' || "CMS_TEXT[10]" == '')  // kein Mehrfachtermin
        {
        echo '<h2>'.mi18n("Termin:").'</h2>';
        $MOD_TE_datum1_array = explode("-","CMS_TEXT[0]");
        $MOD_TE_datum1 = $MOD_TE_datum1_array[2].".".$MOD_TE_datum1_array[1].".".$MOD_TE_datum1_array[0]; 
        $MOD_TE_wtag1 = getdate(mktime(0,0,0,$MOD_TE_datum1_array[1],$MOD_TE_datum1_array[2],$MOD_TE_datum1_array[0])); 
        $MOD_TE_wtag1 = $MOD_TE_tage[$MOD_TE_wtag1[wday]].', ';
        
        if (strlen("CMS_TEXT[2]") > 1)
            {
            $MOD_TE_datum2_array = explode("-","CMS_TEXT[2]");
            $MOD_TE_datum2 = $MOD_TE_datum2_array[2].".".$MOD_TE_datum2_array[1].".".$MOD_TE_datum2_array[0]; 
            $MOD_TE_wtag2 = getdate(mktime(0,0,0,$MOD_TE_datum2_array[1],$MOD_TE_datum2_array[2],$MOD_TE_datum2_array[0])); 
            $MOD_TE_wtag2 = $MOD_TE_tage[$MOD_TE_wtag2[wday]].', ';
            $MOD_TE_bis = ' bis ';
            }
        else
            {
            $MOD_TE_datum2 = '';
            $MOD_TE_wtag2 = '';
            $MOD_TE_bis = '';
            }
            
        echo '<p>'.$MOD_TE_wtag1.$MOD_TE_datum1.$MOD_TE_zeit1.$MOD_TE_bis.$MOD_TE_wtag2.$MOD_TE_datum2.$MOD_TE_zeit2.'';
In den ersten beiden Zeilen wird die Anfang- und Endzeit geprüft. Je nach Feldinhalt wird eine Uhrzeit in die Variable $MOD_TE_zeit1 oder 2 geschrieben.

Dann wird auf einen Mehrfachtermin geprüft. Ist dies nicht der Fall, dann wird das Startdatum zerlegt, der Wochentag ermittelt und die Ergebnisse in die Variablen $MOD_TE_datum1 (Datum) und $MOD_TE_wtag1 (Wochentag) geschrieben.

In der nächsten IF Abfrage wird nun geprüft, ob ein End-Datum gesetzt ist. Wenn ja, dann wird die gleiche Prozedur wie beim Startdatum durchgeführt. Wenn nicht, dann bleiben die Variablen leer und es wird auch kein End-Datum ausgegeben..

Zum Schluss, wird der komplette String ausgegeben.

Wenn Du kein Enddatum im Artikel angibst, wird in der Detailansicht auch nur das Startdatum ausgegeben.

Gruß
schlaucher

Freddy
Beiträge: 252
Registriert: Fr 6. Mai 2005, 21:01
Wohnort: Gummersbach
Kontaktdaten:

Beitrag von Freddy » Do 24. Aug 2006, 16:45

Danke für den Tip. Hätte ja durch ausprobieren drauf kommen können.
Beim Editieren des Artikels steht halt in Klammern "Enddatum muss gesetzt sein" und deswegen habe ich es garnicht erst versucht.
Es funktioniert einwandtfrei. Danke nochmal.

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher » Do 24. Aug 2006, 16:49

Freddy hat geschrieben:Danke für den Tip. Hätte ja durch ausprobieren drauf kommen können.
Beim Editieren des Artikels steht halt in Klammern "Enddatum muss gesetzt sein" und deswegen habe ich es garnicht erst versucht.
Es funktioniert einwandtfrei. Danke nochmal.
Nicht ganz. Hinter dem End-Datum steht, dass es auch leer bleiben darf. Es muss nur gesetzt werden, wenn Du einen Mehrfachtermin einstellen möchtest. Da brauche ich das End-Datum um die Anzahl der Termine zu berechnen.

Gruß
schlaucher

Dirk68
Beiträge: 1
Registriert: Mo 7. Aug 2006, 09:20
Kontaktdaten:

Beitrag von Dirk68 » Mi 30. Aug 2006, 08:47

Hallo zusammen
bin absoluter NEWBY bei contenido.

Ich habe das Termin-Module inst und es läuft super.

Nur habe ich ein Problem , die CSS greift nicht bei IE und auch bei Firefox nicht. Die Terminliste sieht immer gleich aus.
Woran kann das liegen???

Link zu meiner Seite http://blasi.bull-dozer.de

Bitte , wer kann mir helfen?

Gruß Dirk

HAT SICH ERLEDIGT!!! Wer lesen kann ist klar im Vorteil...

andreasb
Beiträge: 212
Registriert: Fr 10. Dez 2004, 02:48
Wohnort: Fernwald
Kontaktdaten:

Beitrag von andreasb » Mi 30. Aug 2006, 21:59

Hallo!

Ein sehr schönes Modul, dass ich gerne einsetzen möchte.

Ich habe allerdings das Problem, dass die Terminliste nicht angezeigt wird.
Keine Fehlermeldung, einfach eine leere Seite...
Die Liste und die Termine sind alle in einer Kategorie, die Liste ist Startartikel.

Der Teaser und sKalender dagegen funktionieren in soweit. Klicke ich auf den Teaser komm ich auch auf den Termin, bei sKalender nur auf eine leere Seite (er verlinkt ja zur Liste, die nicht angezeigt wird.). Ich habe die V2.2.

Wo könnte das Problem liegen?

Zudem bekomme ich einen JS-Fehler, wenn ich auf das Uhren-Symbol bei der Termineingabe klicke...

Andere Frage: Ich würde gerne den sKalender auf drei Seiten einsetzen und ihn mit den jeweiligen Terminen füllen.

Auf einer anderen Seite würde ich dann gerne eine Liste haben, in der dann ALLE Termine erscheinen. So wie ich das sehe ist das derzeit nicht möglich?! Bei 4.4.4 wäre dies ja gegangen indem ich einen Artikel mehreren Kategorien zugewiesen habe. Ein sehr praktisches Feature, was aber wohl grenzwertig war und deshalb verbannt wurde.

Hat da jemand eine Idee?

Danke!

andreasb
Beiträge: 212
Registriert: Fr 10. Dez 2004, 02:48
Wohnort: Fernwald
Kontaktdaten:

Beitrag von andreasb » Fr 1. Sep 2006, 16:34

Weiss der Geier, mir qualmt der Kopf...

Nachdem ich das Listen-Modul in einen anderen Container gesteckt habe, kam zum. diese "Keine Einträge...".

Seltsamerweise gab es davor mit dem Speichern keine Probleme, dafür nun, bis ich diese catlang zu cat geändert habe.

Nun scheint es anscheinend ersteinmal zu gehen, und ich geh jetzt radfahren...

duoback
Beiträge: 2
Registriert: Mi 6. Sep 2006, 14:51
Wohnort: dortmund
Kontaktdaten:

Terminteaser -> Frage zur Sortierung

Beitrag von duoback » Mi 6. Sep 2006, 14:59

Vorzügliches Modulgespann - Danke dafür!

Habe das Problem, dass bei der Aufzählung von div.Terminen als Teaser die Reihenfolge vom Erstellungsdatum des Artikels abhängt und nicht am eigentlichen Datum des Termins. Habt ihr einen Tipp für mich?

Gruß
Jürgen

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Re: Terminteaser -> Frage zur Sortierung

Beitrag von schlaucher » Mi 6. Sep 2006, 18:28

duoback hat geschrieben:Habe das Problem, dass bei der Aufzählung von div.Terminen als Teaser die Reihenfolge vom Erstellungsdatum des Artikels abhängt und nicht am eigentlichen Datum des Termins. Habt ihr einen Tipp für mich?
Hallo Jürgen,

die Ausgabenreihenfolge im Teaser wird durch die Sortierung im Array bestimmt. Im Code findest Du folgende Zeilen:

Code: Alles auswählen

    if( !empty($MOD_TT_termine["datum1"]) ) 
        {
         // nach Datum sortieren 
        array_multisort (   $MOD_TT_termine["datum1"], SORT_ASC, SORT_STRING, 
                            $MOD_TT_termine["jahr1"], $MOD_TT_termine["monat1"], 
                            $MOD_TT_termine["tag1"], $MOD_TT_termine["zeit1"], 
                            $MOD_TT_termine["idart"], $MOD_TT_termine["teaseryn"], 
                            $MOD_TT_termine["titel"], $MOD_TT_termine["link"], 
                            $MOD_TT_termine["linkframe"]);
        }
d.h. dass alle Terime nach dem Start Datum in aufsteigender Reihenfolge sortiert werden. Wenn Deine Termine nach dem Erstellungsdatum sortiert werden, funktioniert möglicherweise der array_multisort() Befehl nicht.

Gruß
schlaucher

Gesperrt