0

ドロップダウンメニューでページネーションオプションを処理する方法を探しています。

ユーザーがフィルター オプションと同じフォームで並べ替え順序を選択できるようにしたいので、ユーザーが [送信] をクリックすると、ページネーション順序が既に設定されています。orm

例:

$this->Form->input('paginationorder',array(
        'label' => 'order',
        'options' => array(
           'sort:id/direction:desc' => 'New Items, desc',
           'sort:id/direction:asc' => 'New Items,asc',
            ),
        'div' => false                 
        )
    );
4

2 に答える 2

0

オプションの値を次のように fieldname.desc に変更します。

$this->Form->input('paginationorder',array(
        'label' => 'order',
        'options' => array(
           'id.desc' => 'New Items, desc',
           'id.asc' => 'New Items,asc',
            ),
        'div' => false                 
        )
    );

その後、コントローラーで、explode メソッドを使用して値を配列に入れます。

$order = explode(".", $this->request->data['Model']['field']);

次に、次のように検索条件で値を使用できます。

$result = $this->Model->find('all', array(
    'order' => array( $order[0] => $order[1] )
));

これを行うにはおそらくもっとエレガントな方法がありますが、これでうまくいくはずです。

于 2013-04-04T13:50:46.957 に答える