今は完全な機能の回答は提供しませんが (現在の開発用ラップトップでは提供しません)、要するに:
「エキスパンダー」タイプのグリッド列を使用できます。$grid->addColumn('expander',...);
「ボタン」タイプのグリッド列 $b=$grid->addColumn('button',...) を使用し、ボタンがクリックされたときに if($b->isClicked()){... のようなコードを追加できます。 }。
どちらの場合も、グリッド行レコードの ID を持つ $_GET[xxx] パラメータを受け取ります。ここで、xxx は addColumn() メソッドで設定されたエキスパンダー/ボタン列の名前です。
数週間前に作成された新しいアドオン Romans を使用できます。親ページクラスに「注入」された新しいポップアップページ「インナーページ」の開き方についてです。
編集:
id=xxx が設定された詳細ページに単純にリダイレクトする場合は、次のようにできます。
// Add button column to grid
$grid->addColumn('button','details','Details');
// Action to do when details button is clicked
// This must return JavaScript (use execute() method to do that immediately)
if(isset($_GET['details'])) {
// redirect to page foo/bar&id=xxx
$this->js()->univ()
->location($this->api->url('foo/bar',array('id'=>$_GET['details'])))
->execute();
}
JS コールバック機能が必要な場合は、location(url) の代わりに redirect(url,callback) または redirectURL(url,callback) を使用することもできます。