Stundenplan mit Webfront

Hi!

Mir schwebt der Gedanke durch den Kopf die „konventionellen“ Schulstundenpläne unserer beiden Kinder in der Küche durch einen „Hightec“-Stundenplan :smiley: zu ersetzen, indem ich diese über Webfront am EEE Top darstellen lasse.

Dazu bräuchte ich eine Anzeige in Tabellenform:

  1. Spalte - Uhrzeit
  2. Spalte - Heute Kind 1
  3. Spalte - Morgen Kind 1
  4. Spalte - Heute Kind 2
  5. Spalte - Morgen Kind 2

Die Spalten in verschiedenen Farben.

Die Zeilen (erstmal 1-9) würden durch entsprechende Stringvariablen gefüttert, die ich aus einer Textdatei lese und über ein Script schreibe.

Unter der Tabelle noch ein paar Zeilen für wichtige Termine.
Ich habe momentan keine Ahnung, wie ich damit starten kann, bzw. wo ich ansetzen soll.

Lässt sich sowas aus heutiger Sicht mit Webfront realisieren, oder muss ich das über eine externe HTML-Seite einbinden. Wobei ich dann erstmal wieder mit HTML auseinandersetzen müsste:rolleyes:

Würde mich freuen über eure Tipps, Lösungsvorschläge und Anregungen!

machbar ist das schon, aber ganz ohne HTML wird es nicht gehen. Mal doch mal auf wie Du es Dir vorstellst vielleicht finde ich ja was.:wink:

Hallo Rainer,

ich habe das mal ganz grob mit Excel „aufgemalt“ und als PDF gespeichert.
Dabei habe ich mich auch wieder „ganz grob“ ans Webfront-Layout angelehnt… für’n Anfang.
Deshalb sieht die Vorstellung eher spartanisch aus, aber in diese Richtung soll es gehen. Eventuell kann man auch noch etwas blinken lassen… das wäre der Hit!
Aber fangen wir mal klein an:D

Mit Frontpage von $MS bekomme ich die Tabelle nach gewisser Neu-Einarbeitungszeit sicher auch hin, aber weiss ich nicht, wie ich die Variablen aus IPS dynamisch in die HTML-Seite einbinden könnte.
Da bin ich Dummy!

Vielleicht kann hierzu jemand einen Tipp zur Realisierung geben?

Da kommt mir so eine Idee…

Man müsste über den Webfront-Konfigurator eine Matrix anlegen können mit x(A-…) Spalten und y(1-…) Zeilen, wie in Excel. Danach den dadurch entsprechenden Feldern Variablen zuweisen können, leer lassen oder Text einfügen können.

Damit wäre dies kein Problem.

Das halte ich für höchst flexibel und damit würde sich Webfront um einiges individueller gestalten lassen.
Wenn man den Spalten und Zeilen noch prozentual die Höhe und Breite der Gesamtfläche zuweisen könnte, wäre der absolute Hit.

Dazu wäre jetzt aber der Horst gefragt, ob sowas realisierbar ist.

@Horst
Falls Du das hier liest… Was hältst Du von der Idee?

Ich bin net Horst, aber ich finde die Idee super ! auf einem 20 Zoll Touch sieht das web doch extrem verloren aus :slight_smile:

bei gira sieht das so aus.
dadurch wird der platz bei grossen monitoren besser ausgenutzt

Boah das Video ist ja wirklich klasse. DAS sieht wirklich sehr gut aus…
Ich wage ja kaum zu fragen, ist sowas mit unserer Webfront möglich ?

Genauso hatte ich mir das gedacht. Vom Design her sieht das Webfront sowieso ähnlich…:wink:

Es gibt da etwas, das nennt sich HTML. Damit kann man tolle Sachen im WebFront machen. Meine Stringvariable habe ich z.B. mit folgendem gefüllt:

<style type="text/css">table.stundenplan { width: 100%; border-collapse: true;} table.stundenplan td { border: 1px solid #444455; }</style><table class="stundenplan"><tr><td style="border: 0 none;"> </td><td style="background: #223344;" colspan="2">Kind 1</td><td style="background: #774477;" colspan="2">Kind 2</td></tr><tr><td>Uhrzeit</td><td>Heute</td><td>Morgen<td>Heute</td><td>Morgen</td></tr><tr><td>7:30 - 8:15</td><td>MA</td><td>MNT<td>D</td><td>MA</td></tr><tr><td>8:20 - 9:05</td><td>D</td><td>RU<td>D</td><td>MA</td></tr><tr><td>9:15 - 10:00</td><td>D</td><td>MA<td>ETH</td><td>D</td></tr><tr><td>10:15 - 11:00</td><td>ENG</td><td>MA<td>ETH</td><td>HSK</td></tr><tr><td>11:05 - 11:50</td><td>ENG</td><td>D<td>HSK</td><td>SP</td></tr><tr><td>12:10 - 12:55</td><td>MNT</td><td>D<td>WERK</td><td>SP</td></tr></table>

WebFront-Stundenplan.png

Coole Sache…na diesen Thread werde ich mal weiter nach Lösingen scannen.
Das ist nämlich ein dauerhaftes Problem bei uns…der blöde Zettel wandert immer in irgendeine Schublade…und dann wird gesucht, gesucht…und so weiter… :slight_smile:

Hallo Horst,

erstmal vielen Dank, dass Du Dich der Sache angenommen hast, aber ich bekomme in den von Dir geposteten String keine Variable rein.
Ich möchte z.B.

7:30 - 8:15

durch die Variable $CM_A1 ersetzen.

Bekomme aber mit den bisher durchgeführten Versuchen immer zum Syntax-Error, oder dass bei der Anzeige in Webfront tatsächlich „$CM_A1“ steht.

Was mache ich falsch?

Was Du falsch machst, weiß ich jetzt auch nicht, aber folgendermaßen funktioniert es auf jeden Fall:

<?php
$CM_A1 = '7:30 - 8:15';

$content  = '<style type="text/css">table.stundenplan { width: 100%; border-collapse: true; } table.stundenplan td { border: 1px solid #444455; }</style>';
$content .= '<table class="stundenplan">';
$content .= '<tr><td style="border: 0 none;"> </td><td style="background: #223344;" colspan="2">Kind 1</td><td style="background: #774477;" colspan="2">Kind 2</td></tr>';
$content .= '<tr><td>Uhrzeit</td><td>Heute</td><td>Morgen</td><td>Heute</td><td>Morgen</td></tr>';
$content .= '<tr><td>'.$CM_A1.'</td><td>MA</td><td>MNT<td>D</td><td>MA</td></tr>';
$content .= '<tr><td>8:20 - 9:05</td><td>D</td><td>RU<td>D</td><td>MA</td></tr>';
$content .= '<tr><td>9:15 - 10:00</td><td>D</td><td>MA<td>ETH</td><td>D</td></tr>';
$content .= '<tr><td>10:15 - 11:00</td><td>ENG</td><td>MA<td>ETH</td><td>HSK</td></tr>';
$content .= '<tr><td>11:05 - 11:50</td><td>ENG</td><td>D<td>HSK</td><td>SP</td></tr>';
$content .= '<tr><td>12:10 - 12:55</td><td>MNT</td><td>D<td>WERK</td><td>SP</td></tr>';
$content .= '</table>';

SetValueString(27256, $content);
?>

:smiley:

'.$CM_A1.'

war’s :wink:

Ich hatte alles Mögliche probiert, aber .variable. (dot … dot) nicht.
Du bist unschlagbar!

Was meinst Du eigentlich zu meiner Idee, mit der Matrix?
So dass man sich eine Übersichtsseite basteln kann, wovon man „Alles“ übersehen und bedienen kann…

So etwas konfigurationsseitig verwirrendes werde ich nicht auf die IPS-Welt loslassen. Du müsstest derzeit 38 Felder konfigurieren, von denen 30 dynamische Felder sind, für die Du jeweils eine Variable anlegen und zuweisen müsstest, die Du dann eh mit einem Skript füllen würdest, in dem wohl ein nettes Array mit den Informationen vorliegt, das sich viel schneller und einfacher in HTML ausgeben lässt.

Anlegen müsstest Du sie nicht mehr, nur zuweisen.
Vielleicht reden wir jetzt ganz „klein wenig“ auseinander…
Meine Idee ist, die Variablen quasi im Webfront mehrfach bedienbar zu machen…
einmal über die Kategorie und ein zweitesmal über diese „Matrix“.
Ich meine… gut ich kenne jetzt nicht genau Deine Vorgehensweise und Planung, aber bei der „Betätigung“ der Variablen (insb. Boolean) dürfte sich dabei doch in Webfront nicht ändern… ob ich diese in der „Übersicht“ oder in der „Unterkategorie“ tätige.
Eventuell verstehst Du mich ja auch falsch, oder ich kann Dir meine Idee nicht so rüber bringen, wie ich das meine:confused:
Klar bedarf es solch einer „Matrix“ gewissen Verwaltungaufawand, aber wenn sie einmal steht, wäre es eine coole Sache.

Trotz allem Umfang dieses Threads möchte ich euch die Lösung der anfänglichen Frage nicht schuldig bleiben.

Skript:

<?
// Daten
$akttag = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");

// 0 Sonntag
// 1 Montag
// 2 Dienstag
// 3 Mittwoch
// 4 Donnerstag
// 5 Freitag
// 6 Samstag

IPS_Sleep(50);

// Parameter
$tag = date("w");
$morgen = $tag + 1;

// Kind 1

    $handle = fopen("H:/IP-Symcon_V2/daten/schule/stundenplan_kind1.txt","r");  // Partition/Ordner/Datei
    $count = 0;
    	while ($line = fgets($handle, 1000))
   	{
     	$parameter = explode(";", $line);	//[0]-Tag, [1]-Uhrzeit, [2]-Fach

     		if ($parameter[0] == $akttag[$tag])
     		{
     		$day = $parameter[0];
	  		$uhrzeit = $parameter[1];
	  		$fach = $parameter[2];

	  		$count = $count+1;

     		$C_A = "C_A";
			$$C_A = "C_A$count";
  			$$C_A = $uhrzeit;
  			$C_B = "C_B";
			$$C_B = "C_B$count";
  			$$C_B = $fach;
     		}
		}
      fclose($handle);
      $handle = fopen("H:/IP-Symcon_V2/daten/schule/stundenplan_kind1.txt","r"); // Partition/Ordner/Datei
    	$count = 0;
    	while ($line = fgets($handle, 1000))
   	{
     	$parameter = explode(";", $line);	//[0]-Tag, [1]-Uhrzeit, [2]-Fach

     		if ($parameter[0] == $akttag[$morgen])
     		{
     		$day = $parameter[0];
	  		$uhrzeit = $parameter[1];
	  		$fach = $parameter[2];

	  		$count = $count+1;

     		$C_C = "C_C";
			$$C_C = "C_C$count";
  			$$C_C = $fach;
     		}
		}
     	fclose($handle);


// Kind 2

    $handle = fopen("H:/IP-Symcon_V2/daten/schule/stundenplan_kind2.txt","r");   // Partition/Ordner/Datei
    $count = 0;
    	while ($line = fgets($handle, 1000))
   	{
     	$parameter = explode(";", $line);	//[0]-Tag, [1]-Uhrzeit, [2]-Fach

     		if ($parameter[0] == $akttag[$tag])
     		{
     		$day = $parameter[0];
	  		$uhrzeit = $parameter[1];
	  		$fach = $parameter[2];

	  		$count = $count+1;

       	$V_A = "V_A";
			$$V_A = "V_A$count";
  			$$V_A = $uhrzeit;
  			$V_B = "V_B";
			$$V_B = "V_B$count";
  			$$V_B = $fach;
     		}
		}
      fclose($handle);
      $handle = fopen("H:/IP-Symcon_V2/daten/schule/stundenplan_kind2.txt","r"); // Partition/Ordner/Datei
    	$count = 0;
    	while ($line = fgets($handle, 1000))
   	{
     	$parameter = explode(";", $line);	//[0]-Tag, [1]-Uhrzeit, [2]-Fach

     		if ($parameter[0] == $akttag[$morgen])
     		{
     		$day = $parameter[0];
	  		$uhrzeit = $parameter[1];
	  		$fach = $parameter[2];

	  		$count = $count+1;

     		$V_C = "V_C";
			$$V_C = "V_C$count";
  			$$V_C = $fach;
     		}
		}
     	fclose($handle);

$content  = '<style type="text/css">table.stundenplan { width: 100%; border-collapse: true; } table.stundenplan td { border: 1px solid #444455; }</style>';
$content .= '<table class="stundenplan">';
$content .= '<tr><td style="border: 0 none;"> </td><td style="background: #223344;" colspan="2">Kind 1</td><td style="background: #774477;" colspan="2">Kind 2</td></tr>';
$content .= '<tr><td>Uhrzeit</td><td>Heute</td><td>Morgen</td><td>Heute</td><td>Morgen</td></tr>';
$content .= '<tr><td>'.$C_A1.'</td><td>'.$C_B1.'</td><td>'.$C_C1.'<td>'.$V_B1.'</td><td>'.$V_C1.'</td></tr>';
$content .= '<tr><td>'.$C_A2.'</td><td>'.$C_B2.'</td><td>'.$C_C2.'<td>'.$V_B2.'</td><td>'.$V_C2.'</td></tr>';
$content .= '<tr><td>'.$C_A3.'</td><td>'.$C_B3.'</td><td>'.$C_C3.'<td>'.$V_B3.'</td><td>'.$V_C3.'</td></tr>';
$content .= '<tr><td>'.$C_A4.'</td><td>'.$C_B4.'</td><td>'.$C_C4.'<td>'.$V_B4.'</td><td>'.$V_C4.'</td></tr>';
$content .= '<tr><td>'.$C_A5.'</td><td>'.$C_B5.'</td><td>'.$C_C5.'<td>'.$V_B5.'</td><td>'.$V_C5.'</td></tr>';
$content .= '<tr><td>'.$C_A6.'</td><td>'.$C_B6.'</td><td>'.$C_C6.'<td>'.$V_B6.'</td><td>'.$V_C6.'</td></tr>';
$content .= '<tr><td>'.$C_A7.'</td><td>'.$C_B7.'</td><td>'.$C_C7.'<td>'.$V_B7.'</td><td>'.$V_C7.'</td></tr>';
$content .= '<tr><td>'.$C_A8.'</td><td>'.$C_B8.'</td><td>'.$C_C8.'<td>'.$V_B8.'</td><td>'.$V_C8.'</td></tr>';
$content .= '</table>';
SetValueString("ID" /*[Schule\Stundenplan\ Heute - Morgen]*/ , $content);   // ID "String-Variable" anlegen
?>

txt-File als Beispiel…

Montag;7:00 - 7:45;
Montag;7:50 - 8:35;D
Montag;8:40 - 9:25;D
Montag;9:45 - 10:30;MA
Montag;10:35 - 11:20;MA
Montag;11:50 - 12:35;ETH
Montag;12:40 - 13:25;HSK
Montag;13:30 - 14:15;

Dienstag;7:00 - 7:45;
Dienstag;7:50 - 8:35;MU
Dienstag;8:40 - 9:25;SP
Dienstag;9:45 - 10:30;SP
Dienstag;10:35 - 11:20;D
Dienstag;11:50 - 12:35;ENG
Dienstag;12:40 - 13:25;SCHULG
Dienstag;13:30 - 14:15;

Mittwoch;7:00 - 7:45;
Mittwoch;7:50 - 8:35;D
Mittwoch;8:40 - 9:25;MA
Mittwoch;9:45 - 10:30;Z
Mittwoch;10:35 - 11:20;MU
Mittwoch;11:50 - 12:35;SP/HSK
Mittwoch;12:40 - 13:25;KU
Mittwoch;13:30 - 14:15;

Donnerstag;7:00 - 7:45;
Donnerstag;7:50 - 8:35;D
Donnerstag;8:40 - 9:25;HSK
Donnerstag;9:45 - 10:30;MA
Donnerstag;10:35 - 11:20;MA
Donnerstag;11:50 - 12:35;ETH
Donnerstag;12:40 - 13:25;
Donnerstag;13:30 - 14:15;

Freitag;7:00 - 7:45;
Freitag;7:50 - 8:35;D
Freitag;8:40 - 9:25;MA
Freitag;9:45 - 10:30;HSK
Freitag;10:35 - 11:20;WERK
Freitag;11:50 - 12:35;
Freitag;12:40 - 13:25;
Freitag;13:30 - 14:15;

Samstag;7:00 - 7:45;
Samstag;7:50 - 8:35;
Samstag;8:40 - 9:25;
Samstag;9:45 - 10:30;
Samstag;10:35 - 11:20;
Samstag;11:50 - 12:35;
Samstag;12:40 - 13:25;
Samstag;13:30 - 14:15;

Sonntag;7:00 - 7:45;
Sonntag;7:50 - 8:35;
Sonntag;8:40 - 9:25;
Sonntag;9:45 - 10:30;
Sonntag;10:35 - 11:20;
Sonntag;11:50 - 12:35;
Sonntag;12:40 - 13:25;
Sonntag;13:30 - 14:15;

Partition(oder Laufwerk bzw. Order) müssen auf individuelle Einstellungen angepasst werden.
Die String-Variable muss das Profil ~Stringbox erhalten um es in Webfront darstellen zu können.
Natürlich bedürfen die txt-Files eurer entsprechenden Anpassung.

Und das sieht dann im Endergebnis wie im Webfront aus ?

Gruss
B71

So wie unten auf der vorigen Seite (http://www.ip-symcon.de/forum/f56/stundenplan-webfront-9844/#post81357).

Hallo zusammen,

wie kriege ich denn meine String Variable dazu HTML nicht in der Codeansicht auszugeben? Die Variablenprofile STRING oder TEXTBOX haben nicht geholfen.

Gruß Hooker