Structures_DataGrid::setUrlFormat()
-- URL のマッピングを有効にし、設定する
説明
これを設定すると、GET/POST の代わりにパースされます。
これは PHP5 でのみサポートされています。というのも
Net_URL_Mapper を使用しているからです。
プレースホルダとして :pager、:orderBy および :direction
の 3 種類が使用できます。
:page あるいは (:orderBy および :direction) は個別に使用できます。
複数の DataGrid のインスタンスを同一のページで使用するには、
それぞれ別のプレフィックスを使用します。
書式文字列ではなく、Net_URL_Mapper のインスタンスをこのメソッドに渡すこともできます。
この場合、$prefix と $scriptname は無視されます。
このインスタンスは、適切に設定して URL パターンに接続されたものでなければなりません。
これは、アプリケーション全体で使用する URL マッピングをすでに設定していて
それを Structures_DataGrid と統合したい場合に便利です。
パラメータ
- mixed
$format
URL の書式。文字列あるいは Net_URL_Mapper のインスタンス。
- string
$prefix
URL のプレフィックスを設定します。
- string
$scriptname
mod_rewrite が使用できない場合に用いるスクリプト名を設定します。
例外・エラー
Net_URL_Mapper_InvalidException をスローします。
例
例 62-1URL の書式の設定 <?php
// どちらも同じことです。たとえば /page/5/foo/ASC のようになります
$datagrid->setUrlFormat('/page/:page/:orderBy/:direction');
$datagrid->setUrlFormat('/:page/:orderBy/:direction', 'page');
// /page がない場合、たとえば /5/foo/ASC など
$datagrid->setUrlFormat('/:page/:orderBy/:direction');
// ページングを行わない場合、たとえば /sort/foo/ASC など
$datagrid->setUrlFormat('/:orderBy/:direction', 'sort');
// スクリプト名を使用する場合、たとえば /index.php/5/foo/ASC など
$datagrid->setUrlFormat('/:page/:orderBy/:direction', 'page', 'index.php');
?> |
|
注意
この関数は、スタティックにコールする
ことはできません。