вернуть класс в файл шаблона yii

Я новичок в Yii, и я борюсь с отображением некоторых классов.
У меня есть очень простой пример:

Я получил свой файл шаблона: themes / classic / views / layout / main.php, и я хочу вызвать там класс.

<div class="col-lg-2 col-md-2 col-sm-2">
<div class="box">
<h2>Categorieën</h2>
<p>
<?php
echo AdminController::producten(); //<--- this does not work!
?>
</p>
</div><!-- box -->
</div><!-- col-lg-2 -->

Класс защищен / controllers / AdminController.php

В этом классе у меня есть функция с именем producten ()

public function producten(){
return 'Hier komen categorieën!';
}

Я хочу просмотреть эту функцию (в данном случае строку) на моей странице шаблона.

Ребята, вы можете показать мне, как, если это возможно, конечно. Или я должен использовать виджет?

2

Решение

Для того, чтобы приведенный ниже код работал:

echo AdminController::producten();

Вы должны изменить свой метод на статический метод, как показано ниже:

public static function producten(){
return 'Hier komen categorieën!';
}

С другой стороны, если ваш контроллер расширен от базового контроллера, который содержит ваш основной макет, вы можете использовать $this Ключевое слово, чтобы получить метод.

При установке свежего базовый контроллер веб-приложения yii находится под /protected/components/Controller.php что все контроллеры будут расширять это. Поэтому, если вы поместите свой метод в этот контроллер, он будет доступен через все контроллеры, которые расширены от базового контроллера.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]