Seite 21 von 50

Verfasst: Fr 2. Feb 2007, 12:56
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...

Verfasst: Fr 2. Feb 2007, 13:11
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

Verfasst: Fr 2. Feb 2007, 14:20
von baumpaul
Ah ja, das hat funktioniert. Danke!

Verfasst: Fr 2. Feb 2007, 14:23
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:

Verfasst: Fr 2. Feb 2007, 14:25
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:

Verfasst: Fr 2. Feb 2007, 14:36
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

Verfasst: Fr 2. Feb 2007, 15:10
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}">

Verfasst: Fr 2. Feb 2007, 15:37
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

Verfasst: Fr 2. Feb 2007, 16:13
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 :)

Verfasst: Fr 2. Feb 2007, 16:26
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

Verfasst: Fr 2. Feb 2007, 18:24
von Dunsti
@schlaucher: hast Du meinen Beitrag übersehen? Kann man das so machen? oder hab ich nen Denkfehler drin? :)

Verfasst: Sa 3. Feb 2007, 07:59
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

Verfasst: So 4. Feb 2007, 10:19
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 :!:

daten werden nicht übernommen

Verfasst: Di 6. Feb 2007, 13:55
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]

Re: daten werden nicht übernommen

Verfasst: Di 6. Feb 2007, 14:34
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