Получение текущего идентификатора контроллера в Yii - PullRequest
10 голосов
/ 06 марта 2012

Я хочу получить имя текущего контроллера, который обрабатывает текущее действие.но в моем случае я буду искать текущий контроллер в моем main.php в моих файлах макета .

, это мое небольшое представление о моей структуре каталогов, чтобы дать вам представление о том, где находитсямои файлы макета и файл, в который я буду помещать свои коды при поиске имени моего контроллера

  • / protected
  • / themes
    • / mylayout
      • / layout
        • main.php
        • column1.php
        • column2.php
      • / site
        • index.php

Возможно ли это?я пробую следующие коды, но мне не удалось получить имя текущего контроллера ...

echo Yii::app()->controller->getId;
echo Yii:app()->getController->id;
echo Yii:app()->controller->uniqueID;

спасибо

Ответы [ 5 ]

26 голосов
/ 06 марта 2012

Как это

Yii::app()->controller->id

или

Yii::app()->getController()->getId()

http://www.yiiframework.com/doc/api/1.1/CApplication#getController-detail

13 голосов
/ 06 марта 2012

Id контроллера:

$this->id

Здесь $ это относится к контроллеру.

И Для получения идентификатора действия:

$this->action->id
7 голосов
/ 07 марта 2012

<?php echo $this->getUniqueId();?>

это покажет текущий контроллер

3 голосов
/ 01 октября 2012

На самом деле вы не обязаны использовать статическую функцию. Всякий раз, когда в представлении (или шаблоне) вы можете использовать echo $this->getUniqueId();, чтобы получить уникальный идентификатор контроллера.

1 голос
/ 26 сентября 2017

Yii2:

Yii::$app->controller->id

(Документация: Применение и Контроллер )

...