1.1.3. Datenobjekte
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$dataObject = new stdClass();
$dataObject->itemId = 'item01';
$dataObject->itemLabel = 'Testeintrag 1';
$dataObject->itemDate = '2011-09-25 12:34:56';
$dataObject->itemFrom = 'K. Kunde';
$dataArray = array(
'itemId' => 'item01',
'itemLabel' => 'Testeintrag 1',
'itemDate' => '2011-09-25 12:34:56',
'itemFrom' => 'K. Kunde'
);
2
3
4
5
6
<?php
$items = array(
array('itemId' => 'item01', 'itemLabel' => 'Testeintrag 1', 'itemDate' => '2011-09-25 12:34:56'),
array('itemId' => 'item02', 'itemLabel' => 'Testeintrag 2', 'itemDate' => '2011-10-01 09:21:33'),
array('itemId' => 'weitereId1', 'itemLabel' => 'Noch ein Testeintrag', 'itemDate' => '2011-09-28 18:57:58')
);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Liste der Daten-Arrays:
$items = array(
array('itemId' => 'item01', 'itemLabel' => 'Testeintrag 1', 'itemDate' => '2011-09-25 12:34:56'),
array('itemId' => 'item02', 'itemLabel' => 'Testeintrag 2', 'itemDate' => '2011-10-01 09:21:33'),
array('itemId' => 'weitereId1', 'itemLabel' => 'Noch ein Testeintrag', 'itemDate' => '2011-09-28 18:57:58')
);
// Auswahlliste erstellen (mit 'listSelection' als Formularfeldname):
$list = new GhGuiList('listSelection');
// Festlegen, dass die Dateneigenschaft 'itemId' für den Formularwert verwendet wird:
$list->setValueProperty('itemId');
// Festlegen, dass die Dateneigenschaft 'itemLabel' die Beschriftung der Listeneinträge enthält:
$list->setCaptionProperty('itemLabel');
// Daten der Liste hinzufügen:
$list->addItems($items);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Liste der Daten-Arrays:
$items = array(
array('itemId' => 'item01', 'itemLabel' => 'Testeintrag 1', 'itemDate' => '2011-09-25 12:34:56'),
array('itemId' => 'item02', 'itemLabel' => 'Testeintrag 2', 'itemDate' => '2011-10-01 09:21:33'),
array('itemId' => 'weitereId1', 'itemLabel' => 'Noch ein Testeintrag', 'itemDate' => '2011-09-28 18:57:58')
);
// Data-Grid erstellen (mit 'gridSelection' als Formularfeldname):
$grid = new GhGuiDataGrid('gridSelection');
// Festlegen, dass die Dateneigenschaft 'itemId' für den Formularwert verwendet wird:
$grid->setValueProperty('itemId');
// Versteckte Spalte für 'itemId' hinzufügen:
$grid->addColumn('itemId');
// Sichtbare Spalte für 'itemLabel' hinzufügen:
$grid->addColumn('itemLabel', 'Betreff');
// Sichtbare Spalte für 'itemDate' hinzufügen und als Datum formatieren:
$grid->addColumn('itemDate', 'Datum', null, GhGuiFormatter::DATETIME_GERMAN);
// Daten dem Data-Grid hinzufügen:
$grid->addRows($items);
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
// GREYHOUND PHP GUI laden:
require_once 'ghgui/ghgui.php';
// Webseite erstellen:
$page = new GhGuiExtensionPage('PHP GUI Beispiel');
// Formular zur Webseite hinzufügen:
$form = new GhGuiForm();
$page->addComponent($form);
// Baum mit Daten aus Arrays aufbauen:
$treeData = new GhCoreTree();
// Element zur ersten Ebene hinzufügen (mit ID 100):
$treeData->add(100, 'Buchhaltung', array('itemId' => 'item01'));
// Untergeordnete Elemente zuordnen (zum Element mit der ID 100):
$treeData->addChild(101, 100, 'Einkauf', array('itemId' => 'item02'));
$treeData->addChild(102, 100, 'Verkauf', array('itemId' => 'item03'));
// Weiteres Element zur ersten Ebene hinzufügen (mit ID 200):
$treeData->add(200, 'Kundenservice', array('itemId' => 'item04'));
// Untergeordnetes Element zum Element mit ID 200 zuordnen:
$treeData->addChild(201, 200, 'Produktanfragen', array('itemId' => 'item05'));
// Baum-Komponente erzeugen und Baum zuordnen (Formularfeld 'treeSelection' nennen):
$tree = new GhGuiComboTree('treeSelection', $treeData);
// Dateneigenschaft 'itemId' für den Wert des Formularfelds verwenden:
$tree->setValueProperty('itemId');
// Baum ins Formular einfügen:
$form->addComponent($tree);
// Button zum Absenden des Formulars einfügen:
$form->addComponent(new GhGuiButton('Absenden'));
// Falls das Formular abgeschickt wurde wird die Auswahl im Baum angezeigt:
$selection = GhCoreGlobals::getValue('treeSelection');
if(!$selection !== null)
$form->addComponent(new GhGuiText('Folgendes Baumelement wurde ausgewählt: ' . $selection));
// Webseite anzeigen:
$page->show();
Die Komponenten verwenden in der Regel als Voreinstellung für die Dateneigenschaft, die den Wert des Formularfelds angibt, die Eigenschaft ID und für die Beschriftung die Eigenschaft Name. Die Objekte im GREYHOUND Server (z.B. Themen und Gruppen) enthalten in diesen Eigenschaften die Server-interne Objekt-ID bzw. die Bezeichnung des Objekts, sodass in der Voreinstellung Objekte aus dem GREYHOUND Server ohne besondere Einstellungen als Datenobjekte genutzt werden können, z.B. um die Themen und Gruppen zur Auswahl in einem GhGuiComboTree darzustellen. Da die Listenelemente im GREYHOUND Server (E-Mails, Telefonnotizen, Faxe, Briefe, Notizen, etc.) die Eigenschaft Subject statt Name für die Bezeichnung verwenden, muss bei der Verwendung dieser Elemente entsprechend die Dateneigenschaft für die Beschriftung auf Subject gesetzt werden.
Themen dieser Ebene |
---|
1.1.1. Webseitenaufbau |
1.1.2. Formulare |
1.1.3. Datenobjekte |
1.1.4. Icons |