HelperOptions
Fields inside [brackets] are optional.
$this->fields_options = array( 'general' => array( ['title'] => $this->l('Carrier options'), // if missing, default 'Options' ['top'] => $this->l('Text to display before the fieldset'), ['image'] => 'url to icon' // if missing will use the default icon for the tab ['description'] => $this->l('Display as description'), ['info'] => $this->l('Display as info'), 'fields' => array( 'PS_CARRIER_DEFAULT' => array( ['title'] => $this->l('Default carrier:'), ['desc'] => $this->l('The default carrier used in shop'), ['cast'] => 'intval', 'type' => {'text', 'hidden', 'select', 'bool', 'radio', 'checkbox', 'password', 'textarea', 'file', 'textLang', 'textareaLang', 'selectLang'}, ['suffix'] => 'Display after the field (ie. currency), // only for text or password 'identifier' => 'id_carrier', ['list'] => array(list do display as options), // only for select ['empty_message'] => $this->l('Display if list is empty'), // only for select ['cols'] => 40, // for textarea ['rows'] => 5, // for textarea ['thumb'] => 'url to thumb image' // for files ), ['is_invisible'] => {true, false} // Disable the field depending on shop context ), 'ANOTHER_FIELD' => ... ), 'submit' => array() ), 'another fieldset' => ... );