Page tree
Skip to end of metadata
Go to start of metadata

Über die Funktionen der Klasse addon_view stellen Sie Daten, Aktionen und Vorlagen für die Anzeige in Eingabefeldern, Auswahlen und Bereichen sowie eine in Ihrem Add-On bereitgestellte XML-Vorlage bereit.

1. Assignments

In diesem Abschnitt wird geklärt, welche Arten von Zuweisungen es gibt und wie diese angegeben werden. Die folgenden Formen sind möglich:


1.1. Bedingungen

Formulierung von Bedingungen zur Anwendung in der Oberfläche


public function get_assignments()
{
    return array(
        "meineIfBedingung" => true
    );
}
public function get_assignments()
{
    return array(
        "timestamp" => time(),
        "meineIfBedingung" => function($scope, $assignments)
        {
            return $assignments["timestamp"] % 2;  
        }
    );
}


1.2. Schleifen

Arrays für for-Schleifen

public function get_assignments()
{
    return array(
        "meinForArray" => array(
            "eintragEins",
            "eintragZwei",
            "eintragDrei"
        )
    );
}
public function get_assignments()
{
    return array(
        "meinForArray" => array(
            "schlüsselEins" => "eintragEins",
            "schlüsselZwei" => "eintragZwei",
            "schlüsselDrei" => "eintragDrei"
        )
    );
}

1.3. Listeneinträge für Auswahlboxen

public function get_assignments()
{
    return array(
        "meineAuswahl" => array(
            array("id" => "eins", "value" => "Wert1", "label" => "Eins", "selected" => true),
            array("id" => "zwei", "value" => "Wert1", "label" => "Zwei", "selected" => true),
            array("id" => "drei", "value" => "Wert3", "label" => "Drei"                    )
        )
    );
}


Alternativ besteht immer die Möglichkeit, Funktionen anzugeben. Diese wird aufgerufen, sobald der Parser bei einem Tag angekommen ist, das das angegebene Assignment nutzt. Der Funktion werden zwei Parameter übergeben. Als erstes die Laufzeitvariablen, die bei einer for-Schleife angegeben werden können oder über das assign-Tag gesetzt wurden, in Form eines Arrays. Der zweite Parameter ist das Array der Assignments, das über get_assignments() übergeben wurde.


public function get_assignments()
{
    return array(
        "meineAuswahl" => function($scope, $assignments)
        {
            return array(
                array("id" => "eins", "value" => "Wert1", "label" => "Eins", "selected" => true),
                array("id" => "zwei", "value" => "Wert1", "label" => "Zwei", "selected" => true),
                array("id" => "drei", "value" => "Wert3", "label" => "Drei"                    )
            );
        }
    );
}

2. Abstrakte Methoden

2.1. get_actions

Syntax:

array get_actions()

Beschreibung:

Muss ein assoziatives Array zurückgeben. Der Schlüssel ist vom Datentyp String, welcher die ID der im Wert gespeicherten Aktion identifiziert. Als Wert kann entweder eine einzelne Aktion oder eine Liste von Aktionen abgelegt werden. Diese Liste ist ein gewöhnliches Array.

Beispiel:

function get_actions()
{
  return array(
          'mySave' => addon_util_action::get_ajax_action('ajax/mySave', array('{widget1}', '{widget2}')),
          'myReset' => addon_util_action::get_ajax_action('ajax/myReset'),
     );
}

2.2. get_on_load_actions

Syntax:

array get_on_load_actions()

Beschreibung:

Liefert eine als eindimensionales Array definierte Sequenz der nach vollständigem Laden auszuführenden util_actions zurück. Die Aktionen werden zuvor in get_data() definiert.

Beispiel:

    public function get_on_load_actions()
    {
        return array(
            'simpleOnLoadAction',
            // ... more actions
        );
    }

2.3. get_assignments

Syntax:

array get_assignments()

Beschreibung:

Mit dieser Methode werden diverse Variablen für den Template-Parser bereitgestellt. Sie muss ein assoziatives Array zurückgeben, in dem der Schlüssel die im Template nutzbaren IDs darstellt. Der Typ des jeweiligen Wertes hängt von dem Widget-Typ oder der Nutzung durch den Parser ab.

Beispiel:

function get_assignments()
{
  return array(
         'textID' => 'Das ist ein Text.',
         'auswahlboxID' => array(
              array('id' => '1', 'value' => '0', 'label' => 'Punkt 1', 'selected' => true),
              array('id' => '2', 'value' => '1', 'label' => 'Punkt 2'                    ),
         ),
         'ifBedingung' => function($scope, $assignments)
         {
              return $scope['myForKey'] == 3;
         }
     );
}

2.4. get_template

Syntax:

string get_template()

Beschreibung:

Muss den Pfad zu einem Template zurückgeben, das für die View genutzt werden soll.

Beispiel:

function get_template()
{
  return "templates/view.xml";
}

2.5. get_title

Syntax:

string get_title()

Beschreibung:

Gibt den Namen des Fensters zurück. Dieser wird ignoriert, sofern die View in ein "Tab" oder "Panel" in ein anderes Template geladen wird.

Beispiel:

function get_title()
{
  return "My Title";
}

3. Vererbte Methoden

  • No labels