fieldset
This commit is contained in:
parent
b82d93905a
commit
fd064e963d
1 changed files with 33 additions and 5 deletions
|
|
@ -15,6 +15,7 @@ class TField
|
||||||
public $error = false;
|
public $error = false;
|
||||||
public $require = false;
|
public $require = false;
|
||||||
public $hint = null;
|
public $hint = null;
|
||||||
|
public $fieldset = null;
|
||||||
// Блоки (Убрать в отдельный класс!!!)
|
// Блоки (Убрать в отдельный класс!!!)
|
||||||
public $_title = array();
|
public $_title = array();
|
||||||
public $description = "";
|
public $description = "";
|
||||||
|
|
@ -27,6 +28,9 @@ class TField
|
||||||
if (isset($input['validate'])) {
|
if (isset($input['validate'])) {
|
||||||
$this->require = strpos($input['validate'], 'require') !== false;
|
$this->require = strpos($input['validate'], 'require') !== false;
|
||||||
}
|
}
|
||||||
|
if (isset($input['fieldset'])) {
|
||||||
|
$this->fieldset = $input['fieldset'];
|
||||||
|
}
|
||||||
// Инициализация свойст обьетка
|
// Инициализация свойст обьетка
|
||||||
foreach (array('label', 'name', 'type', 'description') as $name) {
|
foreach (array('label', 'name', 'type', 'description') as $name) {
|
||||||
if (isset($input[$name])) {
|
if (isset($input[$name])) {
|
||||||
|
|
@ -213,8 +217,12 @@ class OptionFactory {
|
||||||
} else if (isset($input['options.db'])) {
|
} else if (isset($input['options.db'])) {
|
||||||
list($table, $keyvalue) = explode(":", $input['options.db']);
|
list($table, $keyvalue) = explode(":", $input['options.db']);
|
||||||
list($key, $value) = explode(",", $keyvalue);
|
list($key, $value) = explode(",", $keyvalue);
|
||||||
|
try{
|
||||||
$field->options = $this->optionsDB($key, $value, $this->db->executeQuery("SELECT * FROM $table"));
|
$query_result = $this->db->executeQuery("SELECT * FROM $table");
|
||||||
|
}catch(Exception $ex){
|
||||||
|
$query_result = [];
|
||||||
|
}
|
||||||
|
$field->options = $this->optionsDB($key, $value, $query_result);
|
||||||
} elseif (isset($input['options.pair'])) {
|
} elseif (isset($input['options.pair'])) {
|
||||||
$field->options = $this->optionsPair($input['options.pair']);
|
$field->options = $this->optionsPair($input['options.pair']);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -251,7 +259,9 @@ class OptionFactory {
|
||||||
* Форма для ввода
|
* Форма для ввода
|
||||||
*/
|
*/
|
||||||
class Form_Form extends View_View {
|
class Form_Form extends View_View {
|
||||||
public $field = array();
|
public $field = array(); //Поля формы
|
||||||
|
public $fieldsets = array(); //Группы полей (fieldset). Некоторые поля могут не принадлежать никаким группам
|
||||||
|
|
||||||
public $action = "";
|
public $action = "";
|
||||||
public $method = 'post';
|
public $method = 'post';
|
||||||
public $header;
|
public $header;
|
||||||
|
|
@ -313,8 +323,6 @@ class Form_Form extends View_View {
|
||||||
{
|
{
|
||||||
assert(isset($init['type']));
|
assert(isset($init['type']));
|
||||||
assert(isset($init['name']));
|
assert(isset($init['name']));
|
||||||
|
|
||||||
// print_r($init);
|
|
||||||
|
|
||||||
$constructor = $this->constructor[$init['type']];
|
$constructor = $this->constructor[$init['type']];
|
||||||
$el = new $constructor($init, $factory);
|
$el = new $constructor($init, $factory);
|
||||||
|
|
@ -330,6 +338,26 @@ class Form_Form extends View_View {
|
||||||
return $el;
|
return $el;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Добавление fieldset на форму
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function addFieldSet(array $fieldset)
|
||||||
|
{
|
||||||
|
$this->fieldsets[$fieldset['name']] = $fieldset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Добавление массива fieldset на форму
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function addFieldSetList(array $list)
|
||||||
|
{
|
||||||
|
foreach ($list as $fieldset) {
|
||||||
|
$this->addFieldSet($fieldset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Добавляет список полей для формы
|
* Добавляет список полей для формы
|
||||||
* @param array $list
|
* @param array $list
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue