2013-04-12 3 views
0

Я новичок в CakePHP ... Есть ли методы вызова имени модели на контроллере? Допустим, у меня есть 3 модели - пользователь, группа, виджет .. и 3 контроллер - пользователиController, GroupsController, WidgetsController .. На самом деле я планирую написать плагин .. который устанавливает <title> для обоих файлов вида.методы для вызова имени модели на контроллере

Что-то вроде .. я использую плагин для установки <title><?php echo $model_name; ?></title> И когда я перейти к «/ пользователей/главный», то название будет <title>User</title>, , когда я перейти на «/ виджеты/главный», то название будет <title>Widget</title>.

Любая идея с этим решением? Как каждый контроллер может соответствовать своему собственному Model_name?

ответ

1

Попробуйте

в шаблоне:

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

Добавьте к этому контроллеру:

$this->pageTitle = $model_name; 
+1

Обратите внимание, что переменная 'автомат' '$ title_for_layout' помечается осуждается в CakePHP 2.3. Afaik 'pageTitle' нигде не используется CakePHP? Лучше всего вручную установить '$ title_for_layout' или другой viewVar. – thaJeztah

1

Чтобы иметь ModelName автоматически присутствующий в каждом представлении, добавьте этот код в свой AppController ;

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

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

И в ваших просмотров:

<title><?php echo __($model_name); ?></title> 
Смежные вопросы