Ferreteria/v2/usage/forms: Difference between revisions
< Ferreteria | v2 | usage
Jump to navigation
Jump to search
(→Significant Functions: the rest of them, pretty much) |
(example of creating an edit form) |
||
Line 21: | Line 21: | ||
* {{ferreteria/code|forms/form-data.php}} | * {{ferreteria/code|forms/form-data.php}} | ||
** '''fcForm_DB''' ← fcForm_keyed | ** '''fcForm_DB''' ← fcForm_keyed | ||
* {{ferreteria/code|db/v1/menu-data.php}} | |||
** '''clsDataRecord_admin''' ← clsDataSet | |||
| valign=top bgcolor=#eef | | | valign=top bgcolor=#eef | | ||
==Classes== | ==Classes== | ||
Line 32: | Line 34: | ||
** '''fcFormControl_HTML''' ← fcFormControl | ** '''fcFormControl_HTML''' ← fcFormControl | ||
*** '''fcFormControl_HTML_TextArea''' ← fcFormControl_HTML | *** '''fcFormControl_HTML_TextArea''' ← fcFormControl_HTML | ||
* '''clsDataRecord_admin''' | |||
|} | |} | ||
==Significant Functions== | ==Significant Functions== | ||
Line 70: | Line 73: | ||
** FieldObject({{arg|field object (optional)}}) - set/get field object | ** FieldObject({{arg|field object (optional)}}) - set/get field object | ||
** abstract Render({{arg|edit?}}) | ** abstract Render({{arg|edit?}}) | ||
* '''clsDataRecord_admin''' | |||
** callbacks: | |||
*** AdminRows(array $arFields,array $arOptions=NULL) | |||
*** AdminRows_none(array $arOptions=NULL) - called if there are no rows | |||
*** AdminRows_start(array $arOptions=NULL) - called before first row; by default, opens an HTML table | |||
*** AdminRows_finish(array $arOptions=NULL) - called after last row; by default, closes the HTML table | |||
*** AdminRows_after(array $arOptions=NULL) - called just before AdminRows() exits, regardless of whether there were rows | |||
*** AdminRows_head(array $arFields,array $arOptions=NULL) - called after AdminRows_start(); by default, displays row headers | |||
*** AdminRows_rows(array $arFields,array $arOptions=NULL) - called before AdminRows_finish(); useful for displaying totals | |||
*** AdminField($sField,array $arOptions=NULL) - called for each field to display in AdminRows() | |||
==Usage== | |||
===creating an edit form=== | |||
from {{vbzcart/code|dropins/orders/order.php}}: | |||
<php> | |||
$oForm = new fcForm_DB($this->Table()->ActionKey(),$this); | |||
$oField = new fcFormField_Num($oForm,'ID_BuyerCard'); | |||
$oCtrl = new fcFormControl_HTML($oForm,$oField,array('size'=>4)); | |||
</php> |
Revision as of 18:16, 23 October 2015
About
Forms in Ferreteria consist of several sets of classes that work together:
- control classes render editable (and eventually non-editable) data fields
- field classes handle translating values between internal storage and on-disk storage (database)
The Forms classes are being rewritten from scratch; this page applies to the new version (2). Version 1 is here.
Files
|
Classes
|
Significant Functions
- fcForm
- ControlArray(<array of control objects (optional)>) - set/get all control objects
- ControlObject(<name>,<control object (optional)>) - set/get control object for given name
- AddField(<field object>, <control object>)
- abstract LoadRecord()
- abstract SaveRecord()
- RecordValue(<name>,<value (optional)>) - set/get field value
- RecordValues(<array of values (optional)>) - set/get all field values
- NewValues(<array of values (optional)>) - set/get values for new records
- ClearValues()
- RenderControls(<edit?>)
- fcForm_keyed
- Get_KeyString_loaded()
- Set_KeyString_loaded(<key string>)
- Get_KeyString_toSave()
- Set_KeyString_toSave(<key string>)
- HasKey()
- fcForm_DB
- RecordsObject(<recordset object (optional)>) - set/get recordset object
- RecordValues_SQL() - get array of SQL-ready record values
- LoadRecord()
- SaveRecord()
- fcFormField
- FormObject(<form object (optional)>) - set/get form object
- NameString(<name string (optional)>) - set/get field's name
- ValueNative(<value string (optional)>) - set/get field's internal value
- ValueDisplay(<value string (optional)>) - set/get field's display value
- ValueSQL(<value string (optional)>) - set/get field's SQL value
- static Convert_DisplayToNative(<value string>)
- static Convert_NativeToDisplay(<value string>)
- static Convert_SQLToNative(<value string>)
- static Convert_NativeToSQL(<value string>)
- fcFormControl
- FormObject(<form object (optional)>) - set/get form object
- FieldObject(<field object (optional)>) - set/get field object
- abstract Render(<edit?>)
- clsDataRecord_admin
- callbacks:
- AdminRows(array $arFields,array $arOptions=NULL)
- AdminRows_none(array $arOptions=NULL) - called if there are no rows
- AdminRows_start(array $arOptions=NULL) - called before first row; by default, opens an HTML table
- AdminRows_finish(array $arOptions=NULL) - called after last row; by default, closes the HTML table
- AdminRows_after(array $arOptions=NULL) - called just before AdminRows() exits, regardless of whether there were rows
- AdminRows_head(array $arFields,array $arOptions=NULL) - called after AdminRows_start(); by default, displays row headers
- AdminRows_rows(array $arFields,array $arOptions=NULL) - called before AdminRows_finish(); useful for displaying totals
- AdminField($sField,array $arOptions=NULL) - called for each field to display in AdminRows()
- callbacks:
Usage
creating an edit form
from Template:Vbzcart/code: <php> $oForm = new fcForm_DB($this->Table()->ActionKey(),$this); $oField = new fcFormField_Num($oForm,'ID_BuyerCard'); $oCtrl = new fcFormControl_HTML($oForm,$oField,array('size'=>4)); </php>