void
Structures_DataGrid::setUrlFormat
(
mixed
$format
,
string
$prefix
= = null
,
string
$scriptname
= = null
)
これを設定すると、GET/POST の代わりにパースされます。 これは PHP5 でのみサポートされています。というのも Net_URL_Mapper を使用しているからです。
プレースホルダとして :pager、:orderBy および :direction の 3 種類が使用できます。 :page あるいは (:orderBy および :direction) は個別に使用できます。
複数の DataGrid のインスタンスを同一のページで使用するには、 それぞれ別のプレフィックスを使用します。
書式文字列ではなく、Net_URL_Mapper のインスタンスをこのメソッドに渡すこともできます。 この場合、$prefix と $scriptname は無視されます。 このインスタンスは、適切に設定して URL パターンに接続されたものでなければなりません。 これは、アプリケーション全体で使用する URL マッピングをすでに設定していて それを Structures_DataGrid と統合したい場合に便利です。
$format
URL の書式。文字列あるいは Net_URL_Mapper のインスタンス。
$prefix
URL のプレフィックスを設定します。
$scriptname
mod_rewrite が使用できない場合に用いるスクリプト名を設定します。
http://pear.php.net/Net_URL_Mapper も参照ください。
Net_URL_Mapper_InvalidException をスローします。
URL の書式の設定
<?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');
?>
This function can not be called statically.