たとえば、より「自動」なものが必要な場合:
- pageTitle には常に「action + controller」を表示します。例: ユーザーの表示、ユーザーの削除...
次のようなフィルターを作成できます: (多言語でも動作します!!!)
1- protected/components/ に PageTitleFilter.php ファイルを作成します。
class PageTitleFilter extends CFilter {
public $controller;
protected function preFilter($filterChain) {
// logic being applied before the action is executed
$this->controller->pageTitle = Yii::t('app', Yii::app()->controller->action->id) . ' ' . Yii::t('app', Yii::app()->controller->id);
return true; // false if the action should not be executed
}
protected function postFilter($filterChain) {
// logic being applied after the action is executed
}
}
2-コントローラーで:
class MyController extends Controller {
public function filters() {
return array(
'accessControl', // perform access control for CRUD operations
array(
'PageTitleFilter + view, create, update, delete, admin',
'controller' => $this
),
);
}
}
そして、ファイル protected/messages/es/app.php を次のように各アクションの翻訳とともに配置します。
return array(
'view'=>'ver',
'delete'='eliminar'
);
リンク: http://www.yiiframework.com/doc/guide/1.1/es/topics.i18n#locale-and-language
デフォルトの pageTitle を変更したい場合は、任意のアクションで実行できます。
$this->pageTitle= 'My page title';
多言語が必要ない場合は、Yii::t('app') 関数を削除してください!