質問

I want to check the from the controller if I am rendering an add form or just a view. I want to do something like this..

public function clients()
{
    try{

        if ($_SERVER["REQUEST_URI"] == "/data/clients")
        {
            $data['client'] = $this->db->query("select * from clients");
            $this->load->view('cview/client',$data);
        }
        else 
        {

            $crud = new grocery_CRUD();

            //$crud->set_theme('datatables');
            $crud->set_table('clients');
            $crud->set_subject('Clients');
            crud->required_fields('city');
            //$crud->columns('city','country','phone','addressLine1','postalCode');

            $output = $crud->render();

            $this->load->view('/crud/users',$output);
        }
    }catch(Exception $e){
        show_error($e->getMessage().' --- '. $e->getTraceAsString());
    }       
}

This would work well except I'm using an Iframe and this doesn't work if the url doesn't change :P

役に立ちましたか?

解決

$state = $this->grocery_crud->getState();

this will get the what state it is in.

        if (($state == "list" || $state == "success"))  
        {

            $data['client'] = $this->db->query("select * from clients");
            $this->load->view('cview/client',$data);
        }
        else 
        {

            $crud = new grocery_CRUD();

            //$crud->set_theme('datatables');
            $crud->set_table('clients');
            $crud->set_subject('Clients');
            $crud->required_fields('city','phone');


            //$crud->columns('city','country','phone','addressLine1','postalCode');

            $output = $crud->render();

            $this->load->view('/crud/users',$output);
        }

In this example above "list" will work on cancel button and "success" works on save and update button on the add screen or edit screen.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top