WordPress・WEB系の開発(プログラム)関係や技術情報ほか、技術情報全般を掲載

  • このエントリーをはてなブックマークに追加

CakePHPルーティング – メソッドの名前で表示する

CakePHPは規約の関係で[ /universities/about ]など、複数形のコントローラ名/メソッド名の形でページにアクセスしますが、時にはメソッド名だけなど短いURLでアクセスしたいときがあります。
そんな時は、[ app/Config/routes.php ]に下記のようなルーティングの設定を加えると解決できます。

[1][2]どちらも同じ結果が得られますが、多くのページがある場合は、[2]の方がスマートでよいと思います。
# http://localhost/universities/about = http://localhost/about
# http://localhost/universities/terms = http://localhost/terms

[1]
Router::connect('/about', array('controller' => 'universities', 'action' => 'about'));
Router::connect('/terms', array('controller' => 'universities', 'action' => 'terms'));

[2]
Router::connect(
	'/:pagename',
	array(
		'controller' => 'universities',
		'action' => 'display',
	),
	array(
		'pagename' => 'about|terms',
		'pass' => array(
			'pagename'
		),
	)
);


▼環境情報:CakePHP 2.3.9

【PR】第89回関東大学バスケットボールリーグ戦 開幕!

関連記事

コメントは利用できません。

アーカイブ