Ferreteria/v2/usage/forms/creating: Difference between revisions

From Woozle Writes Code
< Ferreteria‎ | v2‎ | usage‎ | forms
Jump to navigation Jump to search
(extracted from parent page)
 
(format tweaks/fixes)
Line 1: Line 1:
How to create a form for editing record-based data:
How to create a form for editing record-based data:
==building the form object===
 
from {{vbzcart/code|dropins/orders/order.php#L1507}} (function PageForm()):
from {{vbzcart/code|dropins/orders/order.php#L1507}} (function PageForm()):
<php>
<php>
Line 10: Line 10:


Certain field classes have additional options.
Certain field classes have additional options.
===timestamps===
==timestamps==
<php>
<php>
      $oField = new fcFormField_Time($frm,'WhenEnt');
      $oField = new fcFormField_Time($frm,'WhenEnt');
Line 17: Line 17:
</php>
</php>
This sets the format of the Control for the "WhenEnt" field based on the parameter string used by the PHP [http://php.net/manual/en/function.date.php date() function] &ndash; in this case, just the month (2 digits) and year (4 digits) are displayed.
This sets the format of the Control for the "WhenEnt" field based on the parameter string used by the PHP [http://php.net/manual/en/function.date.php date() function] &ndash; in this case, just the month (2 digits) and year (4 digits) are displayed.
===dropdown selectors===
==dropdown selectors==
<php>
<php>
      $oField = new fcFormField_Num($oForm,'ID_Place');
      $oField = new fcFormField_Num($oForm,'ID_Place');
Line 23: Line 23:
$oCtrl->Records($this->PlaceTable()->GetData_forDropDown());
$oCtrl->Records($this->PlaceTable()->GetData_forDropDown());
</php>
</php>
===creating the display template===
==creating the display template==
See {{vbzcart/code|dropins/orders/order.php#L1314}} (function PageTemplate()) for a working example.
See {{vbzcart/code|dropins/orders/order.php#L1314}} (function PageTemplate()) for a working example.

Revision as of 16:36, 8 November 2015

How to create a form for editing record-based data:

from Template:Vbzcart/code (function PageForm()): <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> The first line creates a Form object, the next line creates a Field, and the third line assigns a Control to the Field. Adding additional fields and controls follows the format of the last 2 lines.

Certain field classes have additional options.

timestamps

<php> $oField = new fcFormField_Time($frm,'WhenEnt'); $oCtrl = new fcFormControl_HTML($frm,$oField,array('size'=>10)); $oField->Format('m/Y'); </php> This sets the format of the Control for the "WhenEnt" field based on the parameter string used by the PHP date() function – in this case, just the month (2 digits) and year (4 digits) are displayed.

dropdown selectors

<php> $oField = new fcFormField_Num($oForm,'ID_Place'); $oCtrl = new fcFormControl_HTML_DropDown($oForm,$oField,array()); $oCtrl->Records($this->PlaceTable()->GetData_forDropDown()); </php>

creating the display template

See Template:Vbzcart/code (function PageTemplate()) for a working example.