« Zurück zu Produkt

Dokumentation

IPS_GetPresentationValue

 mixed IPS_GetPresentationValue (string $DarstellungsID, int $Variablentyp, array $Parameter) 

Parameterliste

DarstellungsID

Die ID der Darstellung, als GUID formatiert

Variablentyp

Der Variablentyp, für den der Wert geliefert werden soll (0 (VARIABLETYPE_BOOLEAN): Boolean, 1 (VARIABLETYPE_INTEGER): Integer, 2 (VARIABLETYPE_FLOAT): Float, 3 (VARIABLETYPE_STRING): String)

Parameter

Die Parameter der Darstellung als key => value Paare, z.B. ['MIN' => 0, 'MAX' => 100]

Rückgabewert

Der Vorschauwert der Darstellung. Der Typ hängt von der Darstellung und dem Variablentyp ab.

Beschreibung

Die Funktion liefert den Wert, den die Darstellung DarstellungsID in ihrer Vorschau anzeigt, z.B. im Variablen-Dialog oder in der Vorlagenverwaltung. Die Darstellung legt diesen Wert unter presentationValue fest (siehe IPS_GetPresentation):

  • Ist dort ein fester Wert hinterlegt (z.B. TRUE beim Schalter), wird dieser unverändert geliefert. Variablentyp und Parameter haben dann keinen Einfluss.
  • Ist dort PHP-Code hinterlegt, wird dieser ausgeführt und sein Rückgabewert geliefert. Im Code stehen die Parameter sowie der Variablentyp unter VARIABLE_TYPE in $_IPS zur Verfügung. Die Parameter werden nicht um Standardwerte ergänzt – benötigt der Code einen Parameter (z.B. MIN, MAX und STEP_SIZE beim Schieberegler), muss dieser übergeben werden.

Liefert der Code kein gültiges JSON-kodierbares Ergebnis, schlägt die Funktion mit "Invalid JSON for presentation value: …" fehl. Existiert die Darstellung nicht, schlägt die Funktion mit "Presentation with ID … not found!" fehl, bei einer ungültigen GUID mit "PresentationID … is not a valid GUID".

Zusammen mit IPS_GetPresentationFormat lässt sich so eine Vorschau einer Darstellung erzeugen.

Beispiel

// Fester Vorschauwert
var_dump(IPS_GetPresentationValue('{60AE6B26-B3E2-BDB1-A3A1-BE232940664B}' /* Schalter */, VARIABLETYPE_BOOLEAN, []));
// liefert: bool(true)

// Vorschauwert aus PHP-Code
var_dump(IPS_GetPresentationValue('{3319437D-7CDE-699D-750A-3C6A3841FA75}' /* Wertanzeige */, VARIABLETYPE_FLOAT, []));
// liefert: float(123.456)

var_dump(IPS_GetPresentationValue('{6B9CAEEC-5958-C223-30F7-BD36569FC57A}' /* Schieberegler */, VARIABLETYPE_FLOAT, ['MIN' => 0, 'MAX' => 100, 'STEP_SIZE' => 1]));
// liefert: float(42)
Haben Sie noch Fragen?