Yii framework: передача переменной через Chtml: button - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь передать переменную из представления (мобильной модели) в другой контроллер (модели инвентаризации), используя chtml:button с этим кодом

echo CHtml::button(
    'Sell It', 
    array('submit' => array('inventory/create', array('id'=>$data->id)))
);

Теперь, как мне получить доступ к переменной $id в контроллере Inventory, чтобы я мог предварительно заполнить представление создания деталями, соответствующими переданной переменной 'id' мобильной модели.

Ответы [ 4 ]

1 голос
/ 13 ноября 2013

В вашем инвентаре / действии контроллера создайте проверку, прежде чем получить такой идентификатор: -

if (isset($_REQUEST['id'])) {

    $id = $_REQUEST['id'];

    $this->render('create',array('model'=>$inventory, 'id'=>$id));

}
else{

    $this->render('create',array('model'=>$inventory);

}
0 голосов
/ 13 января 2014

в вашем контроллере вы можете получить переменную, передав аргумент вашему методу контроллера следующим образом:

public function actionCreate($id){
    $id = isset($id)?$id:NULL; // Or whatever, you can access it like this.
}

Вам не нужно использовать $ _GET, а yii уже сделал несколько проверок безопасностизначение.

0 голосов
/ 11 августа 2011

В вашем действии инвентаризации / создания контроллера выполните тест для $ _GET ['id'] что-то вроде:

$id = (@$_GET['id']) ? : DEFAULT_VALUE;
$this->render('create',array('model'=>$inventory, 'id'=>$id));

, а затем вы передаете данные в представление, передавая массив переменных, которые выхотите сделать доступными.

(вы бы хотели лучше фильтровать входные данные, это всего лишь пример - с помощью filter_input или другого метода и определения значения по умолчанию и / или некоторого теста на его нулевое / недействительное значение)

0 голосов
/ 11 августа 2011

Если вы пытаетесь открыть форму обновления / редактирования со значениями, предварительно заполненными на основе переданного идентификатора, то вам придется пройти через опции CRUD, доступные в YII. Это гораздо лучший способ обработки обновления записи и еелегко тоже.См. Эту тему для дальнейшей информации ..

http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...