|
this documentation should be used starting with product versions bigger then Auction Factory 1.6.9 and Ads Factory 1.5.4 class FieldType_inputBox extends FactoryFieldTypes{
var $type_name = "TextBox"; var $class_name = "inputBox"; var $has_options = 0; var $sql_type = "varchar"; var $length = 200; var $_attributes = null; var $_options = null;
function display($name, $id, $css_attributes="", $css_class="", $javascript_attributes="" ){ $attributes = $this->prepareAttributesString(); $css_class = $this->prepareClassName($css_class); return "<input type=\"text\" name=\"$name\" id=\"$id\" $attributes class=\"$css_class\" style=\"$css_attributes\" $javascript_attributes value=\"".htmlentities($this->value)."\" />"; } function display_search($name, $id, $css_attributes="", $css_class="", $javascript_attributes="" ){ return $this->display($name, $id, $css_attributes, $css_class, $javascript_attributes ); } } You can add your check class as the input posted above. Customize the display and show search methods adding the name of the control to the fields.config.ini in the field_list= param .
You should have a class like: class FieldType_checkBox extends FactoryFieldTypes and add in the field_list "checkBox" COLLECT MULTIPLE OPTIONS: "overwrite the getVar method" class FieldType_checkbox must have it's definition of the FactoryFieldTypes getVar method so the multiple options are collected all from $_POST.
"add the [] to the controller html field name " A multiple optioned html control must have the name "name[]" instead of "name" in it's html output like bellow: <input type="checkbox" name="mynice_name[]" value="value1" /> <input type="checkbox" name="mynice_name[]" value="value2" />
Note! A checkbox group is a multi option controlled by it's behavior - you can select more than one checkbox and all checkboxes refer to the same property. PLUGIN EXAMPLE FOR A CHECKBOX FIELD: class FieldType_checkbox extends FactoryFieldTypes{ var $type_name = "CheckBox";
var $class_name = "checkBox"; var $has_options = 1; var $sql_type = "varchar"; var $length = 200; var $_attributes = null; var $_options = null; function display($name, $id, $css_attributes="", $css_class="", $javascript_attributes="" ){ $this->value = explode(",", $this->value); $css_class = $this->prepareClassName($css_class); $ret = ""; if(count($this->_options)) foreach($this->_options as $k => $option){ $selected = " "; if( in_array($option->option_name,$this->value) ) $selected = " checked=\"checked\" "; $ret.= "<input type=\"checkbox\" name=\"{$name}[]\" id=\"$id\" $selected value=\"".htmlentities($option->option_name)."\" > ".$option->option_name; } return $ret; }
function getVar($name){ return implode(",",FactoryLayer::getRequest( $_REQUEST, $name )); } function getValue(){ return $this->value; } }
|