0

私は、cakePHP1.2で動作していたこの種のルートを持っていました

Router::connect('/mycategory/my-region', array('controller'=>'search', 'action'=>'properties''named'=>array('region'=>01)));

どうすればケーキ1.3で同じことを達成できますか

ありがとう

4

1 に答える 1

2

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>

于 2011-04-13T11:14:20.713 に答える