Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin

baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

So, jetzt funktioniert es, allerdings bekomme ich immer eine Fehlermeldung:

Code: Alles auswählen

Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in /is/htdocs/.../cms/front_content.php(1021) : eval()'d code on line 678
Die Fehlermeldung kommt nur wenn ich an dieser stelle des codes die Zeile mit den Highlights einfüge.

Code: Alles auswählen

if ($MOD_TL_sort == 'ASC') {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                ...
                                $MOD_TL_termine["titel"], 
                                $MOD_TL_termine["highlight"], 
                                ...
            }
Wenn ich den code aber weglasse, dann ist nicht der Highlight Termin ein Highlight Termin, sondern immer erst der darauffolgende.

Hierbei könnte ich mal Hilfe gebrauchen...
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

baumpaul hat geschrieben:So, jetzt funktioniert es, allerdings bekomme ich immer eine Fehlermeldung:

Code: Alles auswählen

Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent in /is/htdocs/.../cms/front_content.php(1021) : eval()'d code on line 678
Die Fehlermeldung kommt nur wenn ich an dieser stelle des codes die Zeile mit den Highlights einfüge.

Code: Alles auswählen

if ($MOD_TL_sort == 'ASC') {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                ...
                                $MOD_TL_termine["titel"], 
                                $MOD_TL_termine["highlight"], 
                                ...
            }
Wenn ich den code aber weglasse, dann ist nicht der Highlight Termin ein Highlight Termin, sondern immer erst der darauffolgende.

Hierbei könnte ich mal Hilfe gebrauchen...
Wollte gerade auf den ersten Thread antworten, da kam schon der nächsten :wink:

Dieser Fehler kommt dann, wenn nicht alle Termine das Feld "highlight" haben. z.B. schon ältere Termine. Umgehen kannst Du ihn, wenn Du im switch case 0 folgende Zeile einfügst:

Code: Alles auswählen

                case 0: // Anfangstermin 
                    if ($MOD_TL_linktyp == '3') // Text
                        {
                        $MOD_TL_termine["datum1"][$MOD_TL_zaehler] = $db->f("value"); 
                            if (strlen($MOD_TL_termine["datum1"][$MOD_TL_zaehler]) < 10 ) // falsches oder kein Datum
                        $MOD_TL_termine["datum1"][$MOD_TL_zaehler] = '1970-01-01';
                        $MOD_TL_termine["idart"][$MOD_TL_zaehler] = $db->f("idart");
                        ...
                        ... 
                        $MOD_TL_termine["highlight"][$MOD_TL_zaehler] = '';
Gruß
schlaucher
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Ah ja, das hat funktioniert. Danke!
Zuletzt geändert von baumpaul am Fr 2. Feb 2007, 14:27, insgesamt 1-mal geändert.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

baumpaul hat geschrieben:Ah ja, das hat funktioniert. Danke!

Wieso ist das Modul eigentlich immernoch nicht Multilingual machen und auch deine Umlaute als Enität schreiben?
Bitte noch mal in verständlichem deutsch :lol:
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

baumpaul hat geschrieben:Wieso sind die Termin Module eigentlich nicht Multilingual? Und die Sonderzeichen würden als Enitäten beim Import auch hilfreich sein.
:oops:
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

:shock: Das dürften aber nur noch vereinzelte echos sein, die nicht mit mi18n() definiert sind.

Werde versuchen, in der 2.5 alles richtig zu machen :roll:

Kannst Du mir mal die Änderungen für das Highlighting schicken? Das wäre noch was zum Intigrieren.

Gruß
schlaucher
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

Zur nächsten Version:
Ich meinte mit Multilingual eigentlich, dass de und en dabei ist.

Zum den Modulen:
Ich müsste jetzt noch etwas machen wozu ich eigentlich keine lust habe. Aber vielleicht machst du das ja :)

Ich wollte beim Terminteaser noch folgendes einbauen:
Die Highlight Artikel sollen immer im Teaser auftauchen. Angenommen wir haben 3 Termine im Teaser und die Terminliste schaut folgendermaßen aus:
1. Termin (kein Highlight)
2. Termin (kein Highlight)
3. Termin (kein Highlight)
4. Termin (Highlight)
5. Termin (kein Highlight)

Dann möchte ich im Teaser folgende darstellung:
1. Termin (kein Highlight)
2. Termin (kein Highlight)
4. Termin (Highlight)

Es sollen also immer (natürlich richtig Datumsortiert) alle Highlight Termine im Teaser auftauchen, wobei dir normalen dann nach hinten verdrängt werden, so dass immer alle Highlights angezeigt werden.

Ist das klar geworden?


Änderungen für Highlights
Ich hoffe ich habe bei meinem Highlightmodul nichts vergessen.

Modul Termineingabe/anzeige

Bei den Formularfeldern Highlight hinzufügen und bei Bemerkung die Zahl in 14 ändern.

Code: Alles auswählen

* Formularfelder:
* $MOD_TE_termin[8] = Highlight Termin 
* $MOD_TE_termin[14] = Bemerkung CMS_HTML[14]
Diese Zeile ändern

Code: Alles auswählen

for ($MOD_TE_zaehler=0; $MOD_TE_zaehler<=7; $MOD_TE_zaehler++)
in

Code: Alles auswählen

for ($MOD_TE_zaehler=0; $MOD_TE_zaehler<=8; $MOD_TE_zaehler++)


Nach

Code: Alles auswählen

        if ("$MOD_TE_termin[7]" == 'yes') {
			$MOD_TE_teaser_check = 'checked';
		} else {
			$MOD_TE_teaser_check = '';
		}

Code: Alles auswählen

		if ("$MOD_TE_termin[8]" == 'yes') {
			$MOD_TE_highlight_check = 'checked';
		} else {
			$MOD_TE_highlight_check = '';
		}
Diese Zeile ändern

Code: Alles auswählen

echo "<p>".mi18n("Beschreibung / Inhalte: ")."CMS_HTML[8]</p>
in

Code: Alles auswählen

echo "<p>".mi18n("Beschreibung / Inhalte: ")."CMS_HTML[14]</p>
Weiß nicht mehr ob ich diese Zeile auch geändert habe

Code: Alles auswählen

$MOD_TE_html = urldecode($MOD_TE_termin[14]);
Modul Terminliste

Nach

Code: Alles auswählen

$MOD_TL_termine["kategorie"][$MOD_TL_zaehler] = '';
                        $MOD_TL_termine["zyklus"][$MOD_TL_zaehler] = 'no';
einfügen

Code: Alles auswählen

$MOD_TL_termine["highlight"][$MOD_TL_zaehler] = '';
Nach

Code: Alles auswählen

case 6: // Titel 
                    if ($MOD_TL_linktyp == '3') // Text
                        { $MOD_TL_termine["titel"][$MOD_TL_zaehler] = $db->f("value"); }
						//echo '["titel"]: '.$MOD_TL_zaehler.' | '.$MOD_TL_termine["titel"][$MOD_TL_zaehler].'<br>';
                    break;
einfügen

Code: Alles auswählen

case 8: // Highlight 
                    if ($MOD_TL_linktyp == '3') // Text
                        { $MOD_TL_termine["highlight"][$MOD_TL_zaehler] = $db->f("value"); }
						//echo '["highlight"]: '.$MOD_TL_zaehler.' | '.$MOD_TL_termine["highlight"][$MOD_TL_zaehler].'<br>';
                    break;
überall nach

Code: Alles auswählen

$MOD_TL_termine["titel"][$MOD_TL_zaehler2] = $MOD_TL_termine["titel"][$MOD_TL_durchlauf];
einfügen

Code: Alles auswählen

$MOD_TL_termine["highlight"][$MOD_TL_zaehler2] = $MOD_TL_termine["highlight"][$MOD_TL_durchlauf];
das ändern

Code: Alles auswählen

    if( !empty($MOD_TL_termine["datum1"]) ) {
        // nach Datum und Zeit sortieren
        if ($MOD_TL_sort == 'ASC') {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                $MOD_TL_termine["zeit1"], 
                                $MOD_TL_termine["zeit2"],
                                $MOD_TL_termine["idart"], 
                                $MOD_TL_termine["ort"], 
                                $MOD_TL_termine["titel"], 					
                                $MOD_TL_termine["html"],
                                $MOD_TL_termine["link"], 
                                $MOD_TL_termine["linkframe"], 
                                $MOD_TL_termine["kategorie"] ); 
		} else {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_DESC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                $MOD_TL_termine["zeit1"], 
                                $MOD_TL_termine["zeit2"],
                                $MOD_TL_termine["idart"], 
                                $MOD_TL_termine["ort"], 
                                $MOD_TL_termine["titel"], 
                                $MOD_TL_termine["html"],
                                $MOD_TL_termine["link"], 
                                $MOD_TL_termine["linkframe"], 
                                $MOD_TL_termine["kategorie"] ); 
        }
    }
in

Code: Alles auswählen

    if( !empty($MOD_TL_termine["datum1"]) ) {
        // nach Datum und Zeit sortieren
        if ($MOD_TL_sort == 'ASC') {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_ASC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                $MOD_TL_termine["zeit1"], 
                                $MOD_TL_termine["zeit2"],
                                $MOD_TL_termine["idart"], 
                                $MOD_TL_termine["ort"], 
                                $MOD_TL_termine["titel"], 
                                $MOD_TL_termine["highlight"], 
                                $MOD_TL_termine["html"],
                                $MOD_TL_termine["link"], 
                                $MOD_TL_termine["linkframe"], 
                                $MOD_TL_termine["kategorie"] ); 
		} else {
            array_multisort (   $MOD_TL_termine["datum1"], SORT_DESC, SORT_STRING, 
                                $MOD_TL_termine["datum2"], SORT_ASC, SORT_STRING,
                                $MOD_TL_termine["zeit1"], 
                                $MOD_TL_termine["zeit2"],
                                $MOD_TL_termine["idart"], 
                                $MOD_TL_termine["ort"], 
                                $MOD_TL_termine["titel"],
                                $MOD_TL_termine["highlight"], 
                                $MOD_TL_termine["html"],
                                $MOD_TL_termine["link"], 
                                $MOD_TL_termine["linkframe"], 
                                $MOD_TL_termine["kategorie"] ); 
        }
    }
nach

Code: Alles auswählen

$tpl->set('d', 'LINK', $MOD_TL_link);
einfügen

Code: Alles auswählen

if ($MOD_TL_termine["highlight"][$MOD_TL_durchlauf] == 'yes') {
					$MOD_TL_highlight = ' highlight';
				} else {
					$MOD_TL_highlight = '';
				}
				$tpl->set('d', 'HIGHLIGHT', $MOD_TL_highlight);
Template terminliste_v2.html
das ändern

Code: Alles auswählen

<td class="sp0">
in

Code: Alles auswählen

<td class="sp0{HIGHLIGHT}">
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

baumpaul hat geschrieben:Zur nächsten Version:
Ich meinte mit Multilingual eigentlich, dass de und en dabei ist.
Die englischen XML Übersetzungen sind doch im Zip Archiv im Verzeichnis Module\englische _bersetzung
baumpaul hat geschrieben: Ich wollte beim Terminteaser noch folgendes einbauen:
Die Highlight Artikel sollen immer im Teaser auftauchen. Angenommen wir haben 3 Termine im Teaser und die Terminliste schaut folgendermaßen aus:
1. Termin (kein Highlight)
2. Termin (kein Highlight)
3. Termin (kein Highlight)
4. Termin (Highlight)
5. Termin (kein Highlight)

Dann möchte ich im Teaser folgende darstellung:
1. Termin (kein Highlight)
2. Termin (kein Highlight)
4. Termin (Highlight)

Es sollen also immer (natürlich richtig Datumsortiert) alle Highlight Termine im Teaser auftauchen, wobei dir normalen dann nach hinten verdrängt werden, so dass immer alle Highlights angezeigt werden.

Ist das klar geworden?
Das muss ich mal genauer betrachten, sollte aber möglich sein.
baumpaul hat geschrieben: Modul Termineingabe/anzeige

Bei den Formularfeldern Highlight hinzufügen und bei Bemerkung die Zahl in 14 ändern.
Code:

Code: Alles auswählen

* Formularfelder: 
* $MOD_TE_termin[8] = Highlight Termin 
* $MOD_TE_termin[14] = Bemerkung CMS_HTML[14] 
Das ist problematisch, da Du dann nicht mehr abwärtskompatibel bist. Das Highlightfeld muss Nr. 14 werden, sonst werden ältere Terminartikel nicht mehr korrekt angezeigt. Neue Felder müssen immer ans Ende.

Vielen Dank noch mal für die Codezeilen, man muss ja das Rad nicht immer neu erfinden :wink:

Gruß
schlaucher
baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

Beitrag von baumpaul »

schlaucher hat geschrieben: Das ist problematisch, da Du dann nicht mehr abwärtskompatibel bist. Das Highlightfeld muss Nr. 14 werden, sonst werden ältere Terminartikel nicht mehr korrekt angezeigt. Neue Felder müssen immer ans Ende.
Ja, das habe ich auch gemerkt, so ist dann der Text weg aber ich wusste mir auf die schnelle nicht anders zu helfen.

Und gib mal bescheid, falls du meinen Wunsch oben umsetzen willst :)
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

baumpaul hat geschrieben:
schlaucher hat geschrieben: Das ist problematisch, da Du dann nicht mehr abwärtskompatibel bist. Das Highlightfeld muss Nr. 14 werden, sonst werden ältere Terminartikel nicht mehr korrekt angezeigt. Neue Felder müssen immer ans Ende.
Ja, das habe ich auch gemerkt, so ist dann der Text weg aber ich wusste mir auf die schnelle nicht anders zu helfen.

Und gib mal bescheid, falls du meinen Wunsch oben umsetzen willst :)
Umsetzen schon, aber es ist nicht ganz so einfach.

Im Moment werden alle Termine nach Datum sortiert und der Reihe nach abgearbeitet. Stimmen alle Kriterien (Datum, Teasertermin, Anzahl der Termine zum Anzeigen noch nicht überschritten?), dann wird der Termin im Teaser angezeigt.

Nun müsste man erst mal die Highlight Termine zählen und mit der max. Anzahl der Teasereinstellung vergleichen. Bleibt was übrig, dürfen auch normale Teasertermine angezeigt werden. Und das auch noch nach Datum sortiert.

Das ist eine interessante Aufgabe, aber nicht für die Ver. 2.5, sonst kommt die nie raus :wink:

Gruß
schlaucher
Dunsti
Beiträge: 69
Registriert: So 22. Okt 2006, 14:48
Wohnort: Aschaffenburg
Kontaktdaten:

Beitrag von Dunsti »

@schlaucher: hast Du meinen Beitrag übersehen? Kann man das so machen? oder hab ich nen Denkfehler drin? :)
Gruß Andreas

aktuelle Projekte: http://www.mv-bernbach.de
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

Dunsti hat geschrieben:@schlaucher: hast Du meinen Beitrag übersehen? Kann man das so machen? oder hab ich nen Denkfehler drin? :)
sorry, Du hast recht, diesen Beitrag habe ich glatt übersehen :oops:

Auf den ersten Blick ist die Änderung so o.k., werde es am Wochenende noch mal genauer prüfen.

Herzlichen Dank für die Info.

Gruß
schlaucher
stb
Beiträge: 71
Registriert: Mo 8. Jan 2007, 20:40
Kontaktdaten:

Beitrag von stb »

Ich muss an dieser Stelle mal ein ganz dickes Lob an Schlaucher loswerden.
Habe das Modul installiert, wie beschrieben konfiguriert und es läuft sahnemäßig...

Weiter so! :D

//EDIT: Und das in weniger als 10 Minuten :!:
Exercitatio artem parat -
Übung macht den Meister
mzbonn
Beiträge: 14
Registriert: Mo 12. Dez 2005, 13:34
Kontaktdaten:

daten werden nicht übernommen

Beitrag von mzbonn »

vielen dank für das modul, welches einen guten anschein macht...
allerdings habe ich dasproblem, dass die daten nach "absenden" nicht gespeichert werden....

und trotz lesen des forums habe ich keine ahnung warum...[/list][/list]
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Re: daten werden nicht übernommen

Beitrag von schlaucher »

mzbonn hat geschrieben:vielen dank für das modul, welches einen guten anschein macht...
allerdings habe ich dasproblem, dass die daten nach "absenden" nicht gespeichert werden....

und trotz lesen des forums habe ich keine ahnung warum...[/list][/list]
Ist der Artikel online? Wenn nicht, dann bitte Artikel mal online stellen und testen.

Gruß
schlaucher
Gesperrt