Tjo, der ist im entefekt sehr komplex und auch aufgrund meiner „schlechten“ PHP kenntnisse ^^ recht unsauber…
Und da ich sehr wenige kommentare in den Quelltexten setze, wird das auch sehr umständlich…
Ausserdem gefällt mir die Kombination mit dem Webfront irgentwie gar nicht…
Daher werd ich wohl die Tage das ganze als eigenständige seite umsetzen…
Zu meinem vorgehen mit dem jetztigem Webfront style:
-
HTML Seite mit Frontpage erstellt, die Grundrissgrafik als Ebene erstellt und die einzelnen lampen ebenfalls(aber anstatt einer img src immer nur variablen gesetzt. z.B. für die flurlampe dann „$pic[0] $link[0]“.
Dieses ist hinterher wichtig, die zahl in den Klammern muss mit der countzahl von den instancen übereinstimmen!!!
Die seite dann als wohnung.htm unter webfront/user/templates gespeichert.
-
PHP datei erstellt (wohnung.php).
Hier war vor allem wichtig, das ich die template funktion mit drinnen hab, damit ich nicht den ganzen code in die PHP packen musste.
Das kann man allerdings auf 2 wegen machen, entweder man schreibt die funktion mit in die wohnung.php oder man schreibt eine extra php datei (z.B. funktion.php), im 2. Fall muss ich die funktion.php includen in die Wohnung.php.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html;">
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<style type="text/css">@import "default.css";</style>
</head><body>
// JAvascript funktion für ein POPUP fenster (leider krieg ichs mit Layern nicht hin)
<script language="JavaScript" type="text/javascript">
function popup()
{
NF=window.open("caller.php","neu","width=300,height=300");
NF.focus; }
</script>
<?
include("function.php");
// Die instancen der Beleuchtung (der countwert beginnt bei 0 (instanceid für flur), 1 waere dann für die Esstisch leuchte)
$instancen1="11872,20438,39164,42729,54383,55098,27870,10268,58346,21603,49994";
// Bilder für den ein zustand
$instancen2=explode(",","flurlicht_an.gif,esszimmer_an.gif,kueche_an.gif,licht_an.gif,schlafzimmer_an.gif,licht_an.gif,vista_tv_on.png,licht_an.gif,licht_an.gif,ventilator_an.gif,verstaerker_an.gif");
// Bilder für den aus zustand
$instancen3=explode(",","flurlicht_aus.gif,esszimmer_aus.gif,kueche_aus.gif,licht_aus.gif,schlafzimmer_aus.gif,licht_aus.gif,vista_tv_off.png,licht_aus.gif,licht_aus.gif,ventilator_aus.gif,verstaerker_aus.gif");$instancen[id]=explode(",",$instancen1);
$instancen4=explode(",",'$flur,$esszimmer,$kueche,$logia,$schlafzimmer,$schlafzimmereck,$tv,$wohnzimmer,$tvlicht,$ventilator,$verstaerker');
for($i=0;$i<count($instancen[id]);$i++) {
$instancen[name][$i]=IPS_GetName(intval($instancen[id][$i]));
$instanceid=$instancen[id][$i];
$status=IPS_GetObjectIDByName("StatusVariable", intval($instancen[id][$i]));
// Bilder für den Status liegen bei mir im user verzeichniss unter images
if(GetValue($status)==1) {
$instancen6[$i] = "images/".$instancen2[$i];
} else {
$instancen6[$i] = "images/".$instancen3[$i];
}
$pic[$i]="<img border=\"0\" src=\"$instancen6[$i]\">";
$link[$i]="<a href=\"daten.php?action=popup&instance=$instanceid\" target=\"_blank\" onclick=\"return popup(this.href);\">";
}
eval ("\$str .= \"".gettemplate("templates/wohnung")."\";");
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=charset=iso-8859-1\">".$str;
?>
- dann noch die anpassung des Webfronts für eigene Seiten und fertisch…
So, hoffe konnte a bisserl helfen, bei fragen, am besten im Forum, damit es dann auch jedem klar wird ^^