Fuelphp: не удается загрузить представление модуля из контроллера модуля

Привет. Здесь нужна помощь (особенно разработчикам Fuelphp),

У меня есть эти настройки на Fuelphp, где я использую реализацию модуля. Ниже моя текущая установка:

app
-modules
--design
---classes
---views
----admin
-----index.php

На моем контроллере Controller_Admin я помещаю код:

   $this->template->notification = \View::forge('common/notification.php');

Это вызывает ошибку:

The requested view could not be found: common/notification.php

Как я могу загрузить представление с моего контроллера в свой модуль? Есть предположения. Спасибо.


person lukaserat    schedule 08.08.2013    source источник
comment
Вы включили свой модуль в файле конфигурации?   -  person Gadonski    schedule 08.08.2013
comment
да, путь к модулю и модули при настройке always_load   -  person lukaserat    schedule 09.08.2013


Ответы (2)


Я недавно понял это. Мне нужно использовать разрешение области видимости (::) для этого. :-) Это работает, я заменил свой код на это:

$this->template->notification = \View::forge('design::common/notification');

Удаление расширения и добавление имени модуля с разрешением области решает проблему. :)

person lukaserat    schedule 09.08.2013
comment
Это хорошее решение, но я предлагаю вам использовать Theme вместо Views: они лучше подходят для модулей. - person Marco Pace; 19.08.2013

<?php

namespace Adm;


class Controller_Adm extends \Controller {

    public static function action_index() {
       return \Response::forge(\View::forge('adm::adm/index'));
    }

}

a estrutara de pastas é assim:

app
-modules
--adm
---classes
----controller
----model
----views - > модели представлений
---представления -> шаблоны представлений, страницы, HTML и т. д.
----adm
-----index. php

person gilcierweb    schedule 19.10.2013