如果路径被串联,则不包括文件。[英] Volt not including file if path is concatenated

问题描述

我正在尝试以伏特遍历模型集合:

{% if model.elements|length > 0 %}
    {% for element in model.getElements() %}
        {% include "partials/panels/edit-" ~ element.getType() ~ ".volt" %}
    {% endfor %}
{% endif %}

类型可以是文本或图像.如果我使用上面的代码,我会得到错误:

View '/path/to/phalcon/apps/frontend/views/partials/panels/edit-image.volt' was not found in the views directory

我确定该文件存在,因为如果我更改包含,它将起作用:

{% include "partials/panels/edit-image.volt" %}

它也会失败:

{% include "partials/pandels/edit-" ~ "image.volt %} 

第一个版本产生该错误的原因是什么?(我知道我可以只使用 ifs.. 但是稍后会有很多元素类型.)

推荐答案

这行不通.

包括动态查看 使用 partial:

{% if model.elements|length > 0 %}
    {% for element in model.getElements() %}
        {{ partial( "partials/panels/edit-" ~ element.getType() ) }}
    {% endfor %}
{% endif %}

没有'.volt',因为partial会添加它.

本文地址:https://www.itbaoku.cn/post/1739775.html