【问题标题】:Phalcon volt include another voltPhalcon 伏特包括另一个伏特
【发布时间】:2015-05-12 06:29:19
【问题描述】:

所以我有这个电压代码:

views/administrator/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 -->

views/administrator/moderator-form-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')

谁能向我解释为什么会发生这种情况以及如何解决它,我将来需要实现更多角色,并且我不想在 volt 中有多个 if-else

更新

这就是问题的答案

Volt not including file if path is concatenated

【问题讨论】:

    标签: php phalcon volt


    【解决方案1】:

    您是否尝试过使用 partial ? {{ partial("administrator/" ~ user['role'] ~ "-form-user") }}

    我猜views 目录有些不对劲。你也可以看看吗?

    从你的控制器,你可以试试这个来获取你的视图目录; $this-&gt;view-&gt;getViewsDir()

    【讨论】:

    • 我已经尝试了部分,但它仍然无法识别路径。
    • 我也将路径粘贴到终端,它引导我进入它
    • 复制并粘贴了您的代码,最后没有注意到.volt。我使用partial,即使路径是连接的,也从来没有遇到过问题。不过我很高兴你解决了这个问题。
    【解决方案2】:

    尝试使用斜线。您的包含可能会在 index.volt 所在的文件夹“管理员”中查找文件夹“管理员”。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 2013-10-17
      • 1970-01-01
      • 2014-03-22
      相关资源
      最近更新 更多