# Przykładowy kontroler
class TestController extends CI_Controller {
'label' => 'Nazwa',
'field' => 'name',
'rules' => 'required|trim|xss_clean',
'value' => NULL,
'type' => 'input'
),
'label' => 'Lokalizacja tekstu?',
'field' => 'location_text',
'rules' => 'required|trim|xss_clean',
'value' => NULL,
'type' => 'textarea'
),
'label' => 'Is comm',
'field' => 'is_comm',
'rules' => 'required|trim|xss_clean',
'value' => NULL,
'type' => 'checkbox'
),
);
public function add()
{
foreach($this->fields as $field)
{
$this->form_validation->set_rules($field['label'], $field['field'], $field['rules']);
}
if($this->form_validation->run() == TRUE)
{
foreach($this->fields as $key => $field)
{
$this->fields[$key]['value'] = $this->input->post($field['field']);
}
$this->ExampleModel->insert($this->fields);
}
$this->load->view('add', array( 'fields' => $this->fields,
));
}
public function edit($id)
{
foreach($this->fields as $field)
{
$this->form_validation->set_rules($field['label'], $field['field'], $field['rules']);
}
if($this->form_validation->run() == TRUE)
{
foreach($this->fields as $key => $field)
{
$this->fields[$key]['value'] = $this->input->post($field['field']);
}
$this->ExampleModel->update($this->fields, $id);
}
$this->load->view('update', array( 'fields' => $this->fields,
));
}
}
# Widok add.php
foreach($fields as $field)
{
switch($field['type'])
{
case 'textarea':
echo form_textarea
($field['field'], set_value
($field['field'])); break;
case 'checkbox':
echo form_checkbox
($field['field'], set_value
($field['field'])); break;
default:
echo form_input
($field['field'], set_value
($field['field'])); break;
}
}
echo form_submit
('submit');
# Widok edit.php
foreach($fields as $field)
{
switch($field['type'])
{
case 'textarea':
echo form_textarea
($field['field'], set_value
($field['field'], $field['value'])); break;
case 'checkbox':
echo form_checkbox
($field['field'], set_value
($field['field'], $field['value'])); break;
default:
echo form_input
($field['field'], set_value
($field['field'], $field['value'])); break;
}
}
echo form_submit
('submit');
CI to bardzo oporny framework, pracuję na nim już od 2 lat i czasami trzeba wymyśleć coś po swojemu żeby sobie zaoszczędzić pracy. Nie wiem czy kod jest prawidłowy bo pisałem z palca i nie sprawdzałem aczkolwiek myślę, że ogólny sens zrozumiałeś