Yii - рендеринг части из модуля в корневую папку

Я пытаюсь сделать вид из модуля в базовый вид проекта, но это дает ошибку.

Я попробовал ниже комбинации без удачи. Это выдает ошибку "DefaultController не может найти запрошенное представление"appsMenu"".

echo $this->renderPartial("appsMenu",array("moduleName"=>""),true, true);
echo $this->renderPartial("//appsMenu",array("moduleName"=>""));
echo $this->renderPartial("views/site/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("views/site/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("protected/views/site/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("/protected/views/site/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("views/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("/views/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("site/views/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("site/views/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("site/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("protected/views/site/appsMenu",array("moduleName"=>""));
echo $this->renderPartial("//protected/views/site/appsMenu",array("moduleName"=>""));

и пробовал с расширениями тоже

echo $this->renderPartial("appsMenu.php",array("moduleName"=>""),true, true);
echo $this->renderPartial("//appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("views/site/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("views/site/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("protected/views/site/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("/protected/views/site/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("views/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("/views/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("site/views/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("site/views/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("site/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("protected/views/site/appsMenu.php",array("moduleName"=>""));
echo $this->renderPartial("//protected/views/site/appsMenu.php",array("moduleName"=>""));

Я нахожусь в модуле "Формы" и пытаюсь сделать файл "protected/views/site/appsMenu.php". Пожалуйста, помогите мне..

3 ответа

Решение

Использование //:

$this->renderPartial("//site/appsMenu");

Это можно увидеть в документации

абсолютное представление в приложении: имя представления начинается с двойной косой черты "//". В этом случае представление будет искать по пути представления приложения. Этот синтаксис был доступен с версии 1.1.3.

Это противное немного помогло мне

$this->renderPartial('//../modules/MyMod/views/MyCon/MyView');

С помощью // псевдоним $root/protected/views а затем положить это ../ немного там, чтобы заставить меня $root/protected/views/../modules/$m/views/$c/$v что на самом деле означает $root/protected/modules/$m/views/$c/$v

Конечно, введите разумные значения для значений $X и / или MyXXX, указанных выше.

      require_once('./protected/modules/MyMod/views/MyCon/MyView.php');

Используйте строку выше, если вы не можете отобразить файл с помощью yii.

Другие вопросы по тегам