私は現在、渡されたargsを含むいくつかの非常に奇妙なルーティングを使っています。すべて正常に動作し、リンクはページングを除いて正しく逆引きされます。私は私の髪を引き裂いているが、何かを欠いている必要があります。CakePHPのルーティングとページ分割の問題
私のルートは以下のとおりです。
Router::connect('/manufacturer/:manufacturer/:friendly0', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/:friendly2', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1', 'friendly2')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/:friendly2/:friendly3', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1', 'friendly2', 'friendly3')));
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/:friendly2/:friendly3/:friendly4', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1', 'friendly2', 'friendly3', 'friendly4')));
と私はこのようなページネータオプションに渡された引数を追加しました:
$this->Paginator->options(array('url'=>array(
'controller' => 'categories',
'action' => 'view',
'manufacturer' => 'nsm',
'friendly0' => 'Accessories'
)));
しかし、ページネータのリンクは次のように出てくる:
/カテゴリ/ビュー/ページ:2 /メーカー:nsm/friendly0:アクセサリー
ことウルド:
/メーカー/ NSM /アクセサリー/ページ:2
誰でも助けることができますか?
ありがとうございます。
編集:
私は各ルートの最後に/ *を追加した場合だけ最初のルートの予想通りその後、改ページのリンクと通常のリンクが動作します。私は、他のルートがディスパッチ中に一致しなければならないとき、/ *のために最初のルートが常に真であると推測しています。私はこのようなこれらのルートの順序を変更した場合
興味深いことに、:2という名前のparamは渡された引数である必要があり、フレンドリーに渡し:
Router::connect('/manufacturer/:manufacturer/:friendly0/:friendly1/*', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0', 'friendly1')));
Router::connect('/manufacturer/:manufacturer/:friendly0/*', array('controller'=>'categories', 'action'=>'view'), array('pass'=>array('manufacturer', 'friendly0')));
はその後ケーキは、ページことを考えているようだ1。
私はあなたの他の質問に答えとしてあなたのルートの設定を変更するとページネータはまだ何か問題を与えた場合に見てお勧めします... –