0

すでに存在するイベントクラスのためにイベントを呼び出すことができないため、pyrocms に呼び出されたイベントのモジュールがあります。

ただし、イベント モジュールにつながる localhost/events の URL が必要なので、event/config/routes.php にルートを設定してみました。

この行で

$route['events/(:any)?']        = 'event/$1';

しかし、それはうまくいきません - 私は何が間違っていますか?

4

2 に答える 2

6

クラス/メソッドを指す必要があります。

$route['events/(:any)'] = 'class/method/$1';

(:any)(:num)はワイルドカードです。独自のパターンを使用できます。

この例を見てください(デモンストレーション目的で):

// www.mysite.com/search/price/1.00-10.00
$route['search/price/(:any)'] = 'search/price/$1';

$1ワイルドカードと同じです(:any)

だからあなたは言うことができます

public function price($range){
     if(preg_match('/(\d.+)-(\d.+)/', $range, $matches)){
         //$matches[0] = '1.00-10.00'
         //$matches[1] = '1.00'
         //$matches[2] = '10.00'
     }

     //this step is not needed however, we can simply pass our pattern into the route.
     //by grouping () our pattern into $1 and $2 we have a much cleaner controller

     //Pattern: (\d.+)-(\d.+) says group anything that is a digit and fullstop before/after the hypen( - ) in the segment 
}

だから今、ルートは

$route['search/price/(\d.+)-(\d.+)'] = 'search/price/$1/$2';

コントローラ

public function price($start_range, $end_range){}
于 2012-05-08T20:07:37.513 に答える
1

疑問符がルーティングを妨げる可能性があると思うので、次のようにする必要があります。

$route['events/(:any)'] = 'event/$1';
于 2012-05-08T19:28:52.867 に答える