0

私はYiiが初めてです。次のようなコントローラーがあります。

<?php

class EventsController extends Controller
{
    public function actionIndex()
    {
        $this->render('index');
    }
}

次の URL で正しいビューをレンダリングするにはどうすればよいですか。例えば。

localhost/events/intaglio -> $this->render('intaglio');
localhost/events/burrito-> $this->render('burrito');
localhost/events/jerrito -> $this->render('jerrito');

最悪の場合、それぞれに対して個別のアクションを実行する必要があります

public function actionIntagio {...}
public function actionBurrito {...}
public function actionJerrito {...}

これを行うよりスマートな方法はありますか?

4

1 に答える 1

0

URL ルールを ( protected/config/main.phpで) セットアップして、それらの URL を動的に処理します。

events/<event_name:.+> => events/myaction

これは、イベント/その他の URL を Controller/Action events/myactionにポイントします。その後、変数event_nameを使用して URLの一部にアクセスできます。たとえば、次のようになります。$_GET

echo $_GET['event_name'];
于 2012-12-29T01:09:04.947 に答える