Terminliste universal V2.5.3 mit sKalender u. Mehrfachtermin

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Neue Version 2.5.2 fertig

Beitrag von salsa » Do 31. Jan 2008, 17:29

schlaucher hat geschrieben:So, die Version 2.5.2 ist fertig.

@salsa
sorry, Deine Vorschläge kamen zu spät! :wink:
Hast Du das für die Modulvorkonfiguration oder das Selektmenü gedacht?
Du machst ja wahrscheinlich noch eine Version 2.5.3. Mir fällt allerdings sonst nichts auf, was noch besser sein könnte. :lol: Ich denke, dass die Änderung bei beiden vorteilhafter wäre. Um dies und das richtig beurteilen zu können, braucht's aber a bisserl Zeit.
Hier zwei Anwendungen von v.2.5.1 / 2.5.2 (im Bearbeitung):
1. http://www.gegart.de/cms/front_content.php?idcat=601 unter Verwendung von Kategorien (A) und Sonderabfragen.
2. http://www.nachbarschaftstreff-althoffb ... p?idcat=17 unter Verwendung von Mehrfachterminen (Zyklen) und Sonderabfragen.
Bug: Eintragungen in der Ausschlussliste führen in v2.5.2 zum Eintrag 01.01.1970
Bei den Terminen mit Anfangs- und Endzeit (Uhrzeit) ist der Bindestrich leider weg. :(

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

Re: Neue Version 2.5.2 fertig

Beitrag von schlaucher » Fr 1. Feb 2008, 11:20

salsa hat geschrieben:Bug: Eintragungen in der Ausschlussliste führen in v2.5.2 zum Eintrag 01.01.1970
Yep, Module Terminein/ausgabe ab Zeile 1063
alt:

Code: Alles auswählen

			for ($MOD_TE_durchlauf2=0; $MOD_TE_durchlauf2<count($MOD_TE_zdate_array); $MOD_TE_durchlauf2++)
				{
				$MOD_TE_zdate = explode("-",$MOD_TE_zdate_array[$MOD_TE_durchlauf2]);
				$MOD_TE_mktime = mktime(0,0,0, $MOD_TE_zdate[1], $MOD_TE_zdate[2], $MOD_TE_zdate[0]);
				$MOD_TE_wtag = getdate($MOD_TE_mktime); 
				$MOD_TE_wtag = $MOD_TE_tage[$MOD_TE_wtag[wday]].', ';

				$MOD_TE_anzeige_ok = true;
				if (($MOD_TE_termin[18] == '1') && ( $MOD_TE_mktime < $MOD_TE_heute ))
					$MOD_TE_anzeige_ok = false;

				if($MOD_TE_amodus2 > -1)
					{
					if($MOD_TE_amodus2 == 0)
						$MOD_TE_anzeige_ok = false;
					elseif ($MOD_TE_anzeige_ok)
						$MOD_TE_amodus2 = $MOD_TE_amodus2-1;
					}
            
				if ($MOD_TE_anzeige_ok)
					{
					$tpl->set('d', 'WTAG1', $MOD_TE_wtag);
					$tpl->set('d', 'DATUM1', date("d.m.Y",$MOD_TE_mktime));
					$tpl->set('d', 'ZEIT1', $MOD_TE_zeit1);
					$tpl->set('d', 'BIS', '');
					$tpl->set('d', 'WTAG2', '');
					$tpl->set('d', 'DATUM2', '');
					$tpl->set('d', 'ZEIT2', $MOD_TE_zeit2);
					$tpl->next();
					}
				}
neu:

Code: Alles auswählen

			for ($MOD_TE_durchlauf2=0; $MOD_TE_durchlauf2<count($MOD_TE_zdate_array); $MOD_TE_durchlauf2++)
				{
				if(strlen($MOD_TE_zdate_array[$MOD_TE_durchlauf2]) > 1)
					{
					$MOD_TE_zdate = explode("-",$MOD_TE_zdate_array[$MOD_TE_durchlauf2]);
					$MOD_TE_mktime = mktime(0,0,0, $MOD_TE_zdate[1], $MOD_TE_zdate[2], $MOD_TE_zdate[0]);
					$MOD_TE_wtag = getdate($MOD_TE_mktime); 
					$MOD_TE_wtag = $MOD_TE_tage[$MOD_TE_wtag[wday]].', ';

					$MOD_TE_anzeige_ok = true;
					if (($MOD_TE_termin[18] == '1') && ( $MOD_TE_mktime < $MOD_TE_heute ))
						$MOD_TE_anzeige_ok = false;

					if($MOD_TE_amodus2 > -1)
						{
						if($MOD_TE_amodus2 == 0)
							$MOD_TE_anzeige_ok = false;
						elseif ($MOD_TE_anzeige_ok)
							$MOD_TE_amodus2 = $MOD_TE_amodus2-1;
						}
		    
					if ($MOD_TE_anzeige_ok)
						{
						$tpl->set('d', 'WTAG1', $MOD_TE_wtag);
						$tpl->set('d', 'DATUM1', date("d.m.Y",$MOD_TE_mktime));
						$tpl->set('d', 'ZEIT1', $MOD_TE_zeit1);
						$tpl->set('d', 'BIS', '');
						$tpl->set('d', 'WTAG2', '');
						$tpl->set('d', 'DATUM2', '');
						$tpl->set('d', 'ZEIT2', $MOD_TE_zeit2);
						$tpl->next();
						}
					}
				}
salsa hat geschrieben:Bei den Terminen mit Anfangs- und Endzeit (Uhrzeit) ist der Bindestrich leider weg.
alt Zeile 1012:

Code: Alles auswählen

	if (strlen($MOD_TE_termin[3]) > 1) { $MOD_TE_zeit2 = ' '.$MOD_TE_termin[3].' Uhr'; } else { $MOD_TE_zeit2 = ''; }
neu:

Code: Alles auswählen

	if (strlen($MOD_TE_termin[3]) > 1) { $MOD_TE_zeit2 = ' - '.$MOD_TE_termin[3].' Uhr'; } else { $MOD_TE_zeit2 = ''; }
Im HTML Template terminanzeige_v2.html noch folgende Zeile ändern:
alt:

Code: Alles auswählen

{WTAG1}{DATUM1}{ZEIT1}{BIS}{WTAG2}{DATUM2}{ZEIT2}<br>
neu:

Code: Alles auswählen

{WTAG1}{DATUM1}{BIS}{WTAG2}{DATUM2}{ZEIT1}{ZEIT2}<br>
Gruß
schlaucher

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Beitrag von salsa » Fr 1. Feb 2008, 22:26

@schlaucher
perfekt :lol: - Die Anwendungen bei mir werden auch immer besser. Mehr Funktionen brauche ich allerdings vorerst nicht. Es dauert schon ein Weilchen bis man den ganzen Apparat beherrscht.

Con_Explorer
Beiträge: 60
Registriert: Do 4. Jan 2007, 17:10
Kontaktdaten:

Beitrag von Con_Explorer » So 3. Feb 2008, 16:34

Mahlzeit,

ich möchte gerne im Terminteaser die Kategorie ausgeben lassen.

Wie muss ich den output anpassen?

Danke schon mal
Exercitatio artem parat -
Übung macht den Meister
- Jeder fängt mal klein an

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

Beitrag von schlaucher » Di 5. Feb 2008, 11:17

Con_Explorer hat geschrieben:Mahlzeit,

ich möchte gerne im Terminteaser die Kategorie ausgeben lassen.

Wie muss ich den output anpassen?

Danke schon mal
Das ist viel Arbeit. :(

Zunächst musst Du für die Kategorien Namen vergeben, da in den Datenbankfeldern nur die Kurzbezeichnungen a - j stehen. Das machst Du am besten im Modulinput (siehe Modul Terminliste).

Alle Kategorien sind für jeden Artikel in einem Datenbankfeld hinterlegt: Kategorien A in Feld [13], Kategorien B in Feld [21]. Diese Felder musst Du auswerten: (siehe Modul Terminliste).

Code: Alles auswählen

				case 13: // Terminkategorien A
					if ($MOD_TL_linktyp == '3') // Text
						$MOD_TL_termine["kategoriea"][$MOD_TL_zaehler] = $db->f("value");
					break; 
Die zyklischen Terminen nicht vergessen: (siehe Modul Terminliste).

Code: Alles auswählen

					$MOD_TL_termine["kategoriea"][$MOD_TL_zaehler2] = $MOD_TL_termine["kategoriea"][$MOD_TL_durchlauf];
und auch nicht das array_multisort ();

Code: Alles auswählen

					$MOD_TL_termine["kategoriea"], 


Nun musst Du noch für jeden Termin die Kategorienamen auswerten: (siehe Terminein/ausgabe)

Code: Alles auswählen

	$MOD_TE_kategoriea = '';
	$MOD_TE_kategoriea_desc = '';
    
	if (stristr($MOD_TE_termin[13], 'a'))
		$MOD_TE_kategoriea .= $MOD_TE_kata1.', ';
	if (stristr($MOD_TE_termin[13], 'b'))
		$MOD_TE_kategoriea .= $MOD_TE_kata2.', ';
	if (stristr($MOD_TE_termin[13], 'c'))
		$MOD_TE_kategoriea .= $MOD_TE_kata3.', ';
	if (stristr($MOD_TE_termin[13], 'd'))
		$MOD_TE_kategoriea .= $MOD_TE_kata4.', ';
	if (stristr($MOD_TE_termin[13], 'e'))
		$MOD_TE_kategoriea .= $MOD_TE_kata5.', ';
	if (stristr($MOD_TE_termin[13], 'f'))
		$MOD_TE_kategoriea .= $MOD_TE_kata6.', ';
	if (stristr($MOD_TE_termin[13], 'g'))
		$MOD_TE_kategoriea .= $MOD_TE_kata7.', ';
	if (stristr($MOD_TE_termin[13], 'h'))
		$MOD_TE_kategoriea .= $MOD_TE_kata8.', ';
	if (stristr($MOD_TE_termin[13], 'i'))
		$MOD_TE_kategoriea .= $MOD_TE_kata9.', ';
	if (stristr($MOD_TE_termin[13], 'j'))
		$MOD_TE_kategoriea .= $MOD_TE_kata10.', ';
        
	if (strlen($MOD_TE_kategoriea) > 1) 
		{
		$MOD_TE_kategoriea = substr($MOD_TE_kategoriea, 0, strlen($MOD_TE_kategoriea)-2); // letzten beiden Zeichen werden abgeschnitten
		$MOD_TE_kategoriea_desc = mi18n("Kategorie A: ");
		}
und zum Schluss das ganze an das HTML Template übergeben. Dort muss natürlich ein Platzhalter definiert sein. (siehe Terminein/ausgabe)

Code: Alles auswählen

	$tpl->set('s', 'KATA', $MOD_TE_kategoriea);
	$tpl->set('s', 'KATADESC', $MOD_TE_kategoriea_desc);
Achtung! Die Codauszüge sind nur Beispiele. Die müssen natürlich an das Modul angepasst werden. Nur reinkopieren funktioniert nicht!!!
Kräftig Testen, das wars :D

Gruß
schlaucher

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Beitrag von salsa » Di 5. Feb 2008, 12:10

Con_Explorer hat geschrieben:Mahlzeit,

ich möchte gerne im Terminteaser die Kategorie ausgeben lassen.
Es geht auch einfacher, wenn deine Ansprüche nicht zu hoch sind (s.u.): Du musst nur deine Termine nach Kategorien sortiert ablegen. Bei der Konfiguration des Teaser wählst du dann die entsprechneden Kategorien aus.
Die Einschränkung besteht darin, dass nur benachbarte Kategorien ausgewählt werden können.

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

Beitrag von schlaucher » Di 5. Feb 2008, 21:11

cms hat geschrieben:welche Variable gibt genau den tag der Buchung an ?
$MOD_sK_termine["datum1"] ??
$MOD_sK_termine["datum1"] ist das Startdatum eines Termins und $MOD_sK_termine["datum2"] das Enddatum. Wenn Du also eine Buchung hast, wirst Du von - bis eingetragen haben, also beide.

War es das, was du wissen wolltest?

Gruß
schlaucher

vpanama
Beiträge: 26
Registriert: Mo 3. Dez 2007, 19:21
Kontaktdaten:

Hallo Schlaucher

Beitrag von vpanama » Mi 6. Feb 2008, 14:38

...ich habe jetzt die 2.5.2 installiert.
-> damit hat scih auch das Problem mit meiner Terminansicht (der Abstand zwischen Kopf erstem Eintrag.

Leider funktioniert nun die Verlinkung vom Termin in Sk_Kalender zum direkten Termin nicht mehr. Komme mit dem link immer nur zur Terminliste obwohl der Haken: Link zum Artikel aktiv gesetzt wurde.

Wat hab ick da nu wieder falsch jemacht???

Lieben Gruß,

vpanama

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

Re: Hallo Schlaucher

Beitrag von schlaucher » Mi 6. Feb 2008, 14:49

vpanama hat geschrieben:...ich habe jetzt die 2.5.2 installiert.
-> damit hat scih auch das Problem mit meiner Terminansicht (der Abstand zwischen Kopf erstem Eintrag.

Leider funktioniert nun die Verlinkung vom Termin in Sk_Kalender zum direkten Termin nicht mehr. Komme mit dem link immer nur zur Terminliste obwohl der Haken: Link zum Artikel aktiv gesetzt wurde.

Wat hab ick da nu wieder falsch jemacht???

Lieben Gruß,

vpanama
Im sKalender wird immer nur zur Terminliste verlinkt (Einstellung in der Modulkonfiguration). Denn zu welchem Termin soll er denn springen, wenn an einem Tag mehrere Termine existieren?

Hab mir extra noch mal den Modulcode der 2.4 angeschaut, da ist es genau so. War schon am zweifeln.

Gruß
schlaucher

vpanama
Beiträge: 26
Registriert: Mo 3. Dez 2007, 19:21
Kontaktdaten:

...ich nochmal

Beitrag von vpanama » Mi 6. Feb 2008, 15:00

...vielleicht hab ich mich da mal wieder zu kompliziert ausgedrückt.
Wenn ich im Kalender den 16. anklicke, dann hate er mir, in der 2.4, alle Termine des Tages angezeigt. Nun die gesamte Liste.

Gruß
vpanama

vpanama
Beiträge: 26
Registriert: Mo 3. Dez 2007, 19:21
Kontaktdaten:

Entschuldigung

Beitrag von vpanama » Mi 6. Feb 2008, 15:09

Einen Aschecontainer auf mein Haupt....

Hatte auf der Seite noch den Kalender 2.4 eingebunden.
Läuft alles prima!!!

Dankeschön (Meister des Kalenders :D )

Gruß

vpanama

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

Re: Entschuldigung

Beitrag von schlaucher » Mi 6. Feb 2008, 15:12

vpanama hat geschrieben:Einen Aschecontainer auf mein Haupt....

Hatte auf der Seite noch den Kalender 2.4 eingebunden.
Läuft alles prima!!!

Dankeschön (Meister des Kalenders :D )

Gruß

vpanama
Gut, dass wir darüber gesprochen haben :wink:

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Terminliste unter Contenido 4.6.23

Beitrag von salsa » Mi 6. Feb 2008, 18:27

@schlaucher
Auf meiner Website mit Contenido 4.6.23 werden bei der Eingabe einige Felder nicht richtig formatiert dargestellt: zusätzliche Termine und Ausschlussliste sind zu breit und unter Termin Zyklus das Feld bei jeden ... Tag ist viel zu breit. Das letzte hatten wir schon mal; da habe ich das class=input weggelassen und es ging. Das war alles mit 4.6.15.; da läuft alles prima.
Wie/wo wird denn die Eingabe formatiert? Ist es cInclude('classes', 'class.template.php');? Die css-Datei mit .input hat auch eine gewisse Wirkung - aber nicht konsequent. Ich komme da leider nicht weiter.

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

Re: Terminliste unter Contenido 4.6.23

Beitrag von schlaucher » Mi 6. Feb 2008, 22:00

salsa hat geschrieben:@schlaucher
Auf meiner Website mit Contenido 4.6.23 werden bei der Eingabe einige Felder nicht richtig formatiert dargestellt: zusätzliche Termine und Ausschlussliste sind zu breit und unter Termin Zyklus das Feld bei jeden ... Tag ist viel zu breit. Das letzte hatten wir schon mal; da habe ich das class=input weggelassen und es ging. Das war alles mit 4.6.15.; da läuft alles prima.
Wie/wo wird denn die Eingabe formatiert? Ist es cInclude('classes', 'class.template.php');? Die css-Datei mit .input hat auch eine gewisse Wirkung - aber nicht konsequent. Ich komme da leider nicht weiter.
Hi salsa,

hab mir das gerade noch mal bei mir angeschaut. Ich habe die Module unter einer 4.6.23 entwickelt und wie Du aus meinen Hardcopys im ersten Thread siehst, hatte ich da keine Probleme. Habs jetzt mit IE7 und Firefox getestet, gleiches Aussehen. Das class=Input ist in meiner CSS gar nicht aktiv. Das könnte man komplett entfernen.

Die class.template.php ist für die HTML Templates der Ausgabe im Frontend. Dort werden auch keine Formatierungen fürs Backend festgelegt.

Was für Browser benutzt Du denn? Es kann nur mit dem HTML Quellcode für die Ausgabe im Backend zusammenhängen.

Gruß
schlaucher

salsa
Beiträge: 165
Registriert: Mi 27. Apr 2005, 15:47
Wohnort: Dortmund
Kontaktdaten:

Re: Terminliste unter Contenido 4.6.23

Beitrag von salsa » Do 7. Feb 2008, 00:01

schlaucher hat geschrieben: Es kann nur mit dem HTML Quellcode für die Ausgabe im Backend zusammenhängen.
Ich habe darauf hin das Layout gecheckt; und siehe da, nach Entfernen des Links zu einem stylsheet für das Modul comments hatten die Textfelder die richtige Größe. Seltsam ist, dass sich das Deaktivieren des Stylsheets selbst nicht auswirkte. Ich verstehe die Details noch nicht, bin allerdings dank deinem Hinweis schlaucher auf der richtigen Spur.
schlaucher hat geschrieben:Das class=Input ist in meiner CSS gar nicht aktiv. Das könnte man komplett entfernen.
Es sind aber mehrere davon und class=InputButton enthalten, die auch wirksam sind, wenn sie im css definiert sind. Mag auch sein, dass sie entbehrlich sind. (Veränderungen an den Stylsheets sind nur nicht so gut zu kontrollieren, weil im Editor das Reload nicht funktioniert.) Bei den Browsern habe ich keinen Unterschied festgestellt. Ich benutze meist Firefox 2 Mac.

Gesperrt