私は、cakePHP1.2で動作していたこの種のルートを持っていました
Router::connect('/mycategory/my-region', array('controller'=>'search', 'action'=>'properties''named'=>array('region'=>01)));
どうすればケーキ1.3で同じことを達成できますか
ありがとう
my-region常にに等しい場合01、あなたの解決策は私が推測する他のものと同じくらい良いです。ただし、複数の異なるリージョンを使用できるようにしたい場合は、次のルートのようなものをお勧めします。
Router::connect('/mycategory/:my_region',
array('controller' => 'search', 'action' => 'properties'),
array('pass' => array('my_region'), 'my_region' => '[\#a-zA-Z0-9_-]+')
);
my-regionそして、次のようにコントローラーでの値を取得できます。
function properties($my_region = NULL) {
$regions = array('my-region' => '01');
$id = $regions[$my_region];
}
if / switchステートメントを使用すると、コントローラー部分を大幅に改善できます。非常に基本的な例を挙げたかっただけです。
編集:そして、次のようにリンクを作成します。
<?php echo $this->ExHtml->link(
'My Region',
array('controller' => 'search', 'action' => 'properties', 'my_region' => 'my-region')
); ?>
これは自動的に出力するはずです:
<a href="/mycategory/my-region">My Region</a>