2013-04-12 2 views
0

저는 CakePHP의 신입생입니다 ... 컨트롤러의 모델 이름을 호출하는 방법이 있습니까? 내가 가진 3 모델 - 사용자, 그룹, 위젯 .. 및 3 컨트롤러 - UsersController, GroupsController, WidgetsController .. 사실 두 개의보기 파일에 대한 <title>을 설정하는 플러그인을 쓸 계획입니다.컨트롤러의 모델 이름을 호출하는 메서드

뭔가 같은 ... 내가 <title><?php echo $model_name; ?></title> 을 설정하는 플러그인을 사용하고 난가 이동할 때 내가 '/ 위젯/주'다음 타이틀이 될하기 위해 이동할 때 '/ 사용자/주'는 그 제목은 <title>User</title>, 것 <title>Widget</title>.

이 솔루션에 대한 아이디어가 있습니까? 각 컨트롤러의 자체 Model_name과 일치하는 방법은 무엇입니까? ,

$this->pageTitle = $model_name; 

답변

1

템플릿이

시도 ;

public function beforeRender() 
{ 
    parent::beforeRender(); 

    // modelClass should be set automatically 
    // to the 'default' model for the controller 
    $this->set('model_name', $this->modelClass); 
} 

그리고 당신의 견해 내부

다음 '자동'`$의 title_for_layout` 변수가 CakePHP는 2.3에서 더 이상 사용되지 표시되어 있는지

<title><?php echo __($model_name); ?></title> 
+1

참고. Afaik'pageTitle'은 CakePHP에서 사용되지 않습니다. '$ title_for_layout' 또는 다른 viewVar를 수동으로 설정하는 것이 가장 좋습니다. – thaJeztah

1

은 모든보기에 자동으로 존재하는 MODELNAME을 가지고 당신의 AppController에 코드를 추가합니다

<title><?php echo $title_for_layout?></title> 

가 컨트롤러에이 추가 :

관련 문제