Фалькон вольт включает еще один вольт

поэтому у меня есть этот код вольт:

просмотров / администратор / index.volt

{{ content() }}
{% set user = session.get('user') %}

<br />
<div class="row">
<div class="col-xs-12 col-md-12 col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" href="#container_userForm">
<span class="glyphicon glyphicon-asterisk"></span>
<b style="color: green;">New user</b>
</a>
</div>
<div id="container_userForm" class="panel-collapse collapse">
<div class="panel-body">
{% include "administrator/" ~ user['role'] ~ "-form-user.volt" %}
</div>      <!-- end panel body -->
</div>
</div>
</div>
</div> <!-- end row -->

просмотров / администратор / модератор форм-user.volt
существует и имеет некоторый контент.

но когда я запускаю код, у меня появляется эта ошибка

View '/var/www/html/phalcon-dash/app/config/../../app/views/administrator/moderator-form-user.volt' was not found in the views directory

Я достал user['role'] и использовать {% include "administrator/moderator-form-user.volt" %}работает нормально (user [‘role’] = ‘moderator’)

Может ли кто-нибудь объяснить мне, почему это происходит и как обойти это, мне нужно будет реализовать больше ролей в будущем, и я не хочу иметь несколько if-else в вольт

Обновить

Это ответ на проблему

Вольт не включая файл, если путь объединен

2

Решение

Вы пробовали это с частичным?
{{ partial("administrator/" ~ user['role'] ~ "-form-user") }}

Я предполагаю, что что-то не так с каталогом просмотров. Не могли бы вы это проверить?

С вашего контроллера вы можете попробовать это, чтобы получить каталог представлений;
$this->view->getViewsDir()

1

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

Попробуйте использовать косую черту. Ваше включение, вероятно, ищет папку «administrator» внутри папки «administrator», где находится index.volt.

{% include "/administrator/" ~ user['role'] ~ "-form-user.volt" %}
0

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