Per Link (HTML <a href=> ) zu WFC-Ansicht springen

Hallo Zusammen,
ich habe einen einfachen Terminkalender per „externe Website“ in das WFC eingebunden

Auszuüge aus der Speicherdatei „termine.txt“ zeige ich auf der „Home“-Seite an

Ich würde den Terminauszug nun gerne mit einem Hyperlink versehen, damit man für weitere Informationen oder zum Ergänzen von Terminen auf den Terminkalender im WFC springt.

Wie gibt man eine WFC-Positition als Link an?

Ich brauche etwas wie dieses hier:


<a href="WFC-Item">KALENDER-AUSZUG</a>

Das ist leider nicht möglich. Du kannst mit WFC_SwitchPage nur alle WebFronts gleichzeitig ansteuern.

paresy

„Nicht möglich“ verstehe ich nicht. Man klickt doch dauernd auf Reiter im WFC und diese öffnen sich dann.

Der Befehl „WFC_SwitchPage“ an sich tut ja was mir vorschwebt… die Frage ist nur noch: wie rufe ich den „anklickbar“ auf?

indem du einen Link auf das Skript ins WF bringst ?

Es wäre Klasse du ein Code-Beispiel ergänzen könntest.

Das Skript für den „Home“-Screen heisst „52632.ips.php“. Der Code sieht so aus:


<?
$Zeit=date("H:i", time());
$Datum=date("d.m.y", time());
$wochentage=array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' );
$Tag=$wochentage[date('w')];
$Temperatur=GetValueFormatted(18850 /*[Hardware\EQ-3\HM-WDS10-TH-O (76923) OEQ0088250:1\Temperatur]*/);
$TemperaturEG=GetValueFormatted(47959 /*[Hardware\EQ-3\HM-WDS40-TH-I-2 (132095) OEQ0159187:1\Temperatur]*/);
$Home=GetValueFormatted(16240 /*[Visu\Home\Anwesenheit]*/);
$Akku=GetValueFormatted(25060 /*[Hardware\Fully Kiosk Browser\Fully Kiosk Browser\Akku]*/);
$MotionTreppe=GetValueFormatted(25355 /*[Hardware\EQ-3\HM-Sec-MDIR-2 (131776D0) LTK0112236:1\MOTION]*/);
$MotionFlur=GetValueFormatted(56624 /*[Hardware\EQ-3\HM-Sec-MDIR-2 (131776D1A) LTK0004133:1\MOTION]*/);

$fTempOut=GetValuefloat(18850 /*[Hardware\EQ-3\HM-WDS10-TH-O (76923) OEQ0088250:1\Temperatur]*/);
$fTempIn=GetValuefloat(47959 /*[Hardware\EQ-3\HM-WDS40-TH-I-2 (132095) OEQ0159187:1\Temperatur]*/);

if ($fTempOut > $fTempIn) {$Farbe="red";}
if ($fTempOut <= $fTempIn) {$Farbe="blue";}

$Termine=GetValue(23562 /*[Visu\Home\Termine]*/);

# var_dump($Farbe);

$HTML='
<!DOCTYPE html>
<html>
  <head>
    <style>
      	p1 { font-size: 100px;font-family:Verdana;}
	  	p2 { font-size: 220px; font-family:Verdana;}
		p3 { font-size: 50px; font-family:Verdana;}
		#Infos		{position:absolute;z-index:2;top:10px;left:10px;width:100px;height:10px;font-size:8.0pt;color:silver;text-align:left}
		#Termine	{position:absolute;z-index:2;top:100px;left:10px;width:500px;height:500px;font-size:8.0pt;color:silver;text-align:left}

    </style>
  </head>
  <body>
		<div id="Infos">
			Akku: '.$Akku.'
			<br>'.$Home.'
			<br>Flur: '.$MotionFlur.'
			<br>Treppe: '.$MotionTreppe.'
		</div>
		<div id="Termine">
			'.$Termine.'
		</div>
		<table width="100%" border="0" cellspacing="0" cellpadding="0">
			<tr valign="bottom">
				<th><p1>'.$Tag.', '.$Datum.'</p1></th>
			</tr>
			<tr>
				<th><p2>'.$Zeit.'</p2></th>
			</tr>
			<tr>
				<th><p1><font color= "'.$Farbe.'">'.$Temperatur.'</font><font size="2px">OUT</font>/<font size="2px">IN</font>'.$TemperaturEG.'</p1></th>
			</tr>
			<tr>
				<th>
				<div id="cont_af0705f484e51bd593c2cee3d05d7002"><script type="text/javascript" async src="https://www.daswetter.com/wid_loader/af0705f484e51bd593c2cee3d05d7002"></script></div>
				</th>
			</tr>
		</table>
		
	</body>



		
</html>
';

SetValue(23924 /*[Visu\Home\Home]*/, $HTML );

?>

Die WFC-Seite die ich aufrufen möchte hat kein Skript oder so (weil „externe Seite“). Im WFC Konfigurator hat diese Seite die ID „item6370“.

Meinst du vielleicht eine GET oder POST an das „Home“-Skript und das löst dann einen Wechsel mittels „WFC_SwitchPage“ aus?

WFC_SwitchPage(52632);

verlinken und im WF den Link platzieren, beim klicken wird umgeschaltet auf id52632
im Prinzip eigentl zu einfach

Die „Home“-Seite wird ausschließlich per HTML/PHP dargestellt (-> siehe Code oben). Ich kann den Link nicht einfach wie ein übliches WFC-Element platzieren, sondern es muss irgendwie im HTML/PHP-Code als Link (o.ä.) auftauchen.

Ein Link

<a href="wfc_switchPage(52632, "item6370")">Kalender-Seite öffnen</a>

funktioniert bei mir nicht.

Das WebHook Control gehört zu den Kern Instanzen und ist somit sofort konfigurierbar. Innerhalb eines Browsers kann das jeweilig verknüpfte Skript mit „IP:PORT/hook/HOOKNAME“ aufgerufen werden

<a href="/hook/home?WFCID=53280&WFCItemID=item6370">Kalender öffnen</a>

Dieser Webhook startet das gewünschte Skript, aber der Befehl wird nicht ausgefürt, d.h. die IPS-Oberfläche ist weg:

<?

$WFCID=$_GET["WFCID"];
$WFCItemID =$_GET["WFCItemID"];
wfc_switchPage($WFCID, ". $WFCItemID .");

# WFC_SwitchPage(53280, "item6370");

?>

Ich habe es hin bekommen. (siehe https://www.symcon.de/forum/threads/18204-IPS-Befehle-von-einer-HTML-Seite-starten)

Nun ist die Optik des Input-Buttons noch nicht schön, bzw. nicht wie sonst im IPS.
MR_20171021_083713.jpg
Kann man einem HTML-Input-Button die IPS-Optik geben (z.B. die des Buttons „AN“ oder „40“ im Screenshot)?
MR_20171021_083738.jpg


<input type="button" name="Kalender" onclick="GenericAction(\'WFC_SwitchPage(53280, item6370);\')" value="Kalender öffnen" />

Das kannst Du anpassen wie Du willst dazu am besten CSS nutzten und dann dem Element eine Klasse zuweisen.
Siehe
CSS Form
bzw.
CSS

da kannst Du alles einstellen angefangen von der Farbe, Breite, Höhe, Rahmen, Schattenwurf, Runde Ecken usw.

am besten CSS nutzten

unbedingt sichern, da bei 'Update überschrieben wird
ansonsten sieht schonmal gut aus der Button

Ich wollte auf die Daten (CSS) vom IPS zugreifen. Nichts eigenes machen. Wie finde ich das? Wie heisst z.B. die vom „AN“ Button.

Ich würde vielleicht doch einfach einen eigenen CSS nutzten für die HTMLBox. Ansonsten wenn Du das Layout des Webfronts generell anpassen willst bzw. das CSS anschauen siehe Skins.