2013-06-14 1 views
0

вот глупый вопрос, и я прошу прощения за это, но я все еще новичок в кодогенераторе.codeignitor: это правильный способ захвата параметра?

если моя страница компания/добавить/4 (компания контроллер, добавить функция и 4 является идентификатором этой компании)

это, как я хотел бы повторить идентификатор на другую страницу:

public function add($id) { 

    $data['data'] = $id; 
    $this->load->view('templates/header'); 
    $this->load->view('locations/add', $data); 
    $this->load->view('templates/footer'); 

затем на представлении:

echo $data['id']; 

Это работает правильно, но я не уверен, что его лучший способ сделать это. потому что кажется, что имело бы смысл иметь:

public function add($id) { 

    $this->load->view('templates/header'); 
    $this->load->view('locations/add', $id); 
    $this->load->view('templates/footer'); 

, но это, похоже, не работает.

+0

, что именно здесь проблема? первый, который вы сделали, был правильным –

ответ

0

Обновленный контроллер

public function add($id) { 
$data['id'] = $id; 
$this->load->view('templates/header'); 
$this->load->view('locations/add', $data); 
$this->load->view('templates/footer'); 

На ВИДОМ

просто сделать echo $id

CodeIgniter передает массив в представлении, так что вы можете передать не только 1, но группа данных к вашим представлениям используйте ключ, который вы назначили на контроллере в качестве имени переменной на вид

все, что вы размещаете на ключ, который будет имя вы будете переменной в окне

//controller 
$data['test'] = 'test'; 
//view 
var_dump($test);//string "test" 

//controller 
$data['test'] = array('1','2'); 
//view 
var_dump($test);//array() 

//controller 
$data['test'] = 1; 
//view 
var_dump($test);//int "1" 

так далее, и так далее

+0

ОК, спасибо за эту информацию! – bnelsonjax

Смежные вопросы