Как использовать расширитель для обновления данных в сетке atk4? - PullRequest
1 голос
/ 19 января 2012

Допустим, я создал модель "продукт" с несколькими полями, такими как "имя", "цена", "налог", "доставка" и т. Д.

Сначала я просто хочу показать имя ицена в сетке:

$g = $this->add('MVCGrid')
$g -> setModel('product', array('name','price'));

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

$g -> addColumn('expander','sold');

В файле sold.php я поставил:

$f = $this -> add('MVCForm');
$f -> setModel('product',array('tax','shipping'));
$f -> addSubmit()-> setLabel('Update');

Мой вопрос: как получить идентификатор продукта, который я пытаюсь обновить, на странице расширителя?т. е. какой код я должен ввести в

if($f->isSubmitted()){

}

, чтобы обновить налог и стоимость доставки продукта, на котором я нажал кнопку "продано"?


Кстати, есть ли способ закрыть расширитель после нажатия кнопки отправки?

1 Ответ

0 голосов
/ 20 января 2012

Расширитель передает идентификатор через несколько переменных GET:

  • id
  • tablename_id (рассчитывается на основе модели-> entity_code

Использование 'id'удобен, но второй метод удобнее, если вы делаете вложенные расширители. Не забудьте использовать stickyGET ().

...