标签: volt

PhalconPHP中*.volt和*.phtml文件有什么区别?

IIN尔康的样本项目,在views目录,我们有一些文件后缀PHTML后缀.这两个后缀有什么区别?当我们必须使用Volt并且何时必须使用phtml?请为我解释......

php views phalcon volt difference

4
推荐指数
1
解决办法
3634
查看次数

在Volt中获取数组的大小

Volt(Phalcon的模板引擎)中,如何获取数组中的元素数量?我试过sizeof,也count,lengthsize(希望在正确的命令绊倒).

在这个特定的例子中,我只对是否有0个元素感兴趣,但将来能够获得实际数字会很方便.

arrays phalcon volt

4
推荐指数
1
解决办法
6462
查看次数

如何在Volt(Phalcon)中设置自己的Tag类

我想重新声明并添加一些方法来帮助Tag.

class MyTags extends \Phalcon\Tag
{
    public static function mytag($params)
    {
       <...>
    }
}
Run Code Online (Sandbox Code Playgroud)

在services.php中

$di->set('tag', function() {
    return new MyTags();
};
Run Code Online (Sandbox Code Playgroud)

但它只适用于PHP引擎,而不适用于Volt.

{{ mytag() }}
Run Code Online (Sandbox Code Playgroud)

Undefined function 'mytag'
Run Code Online (Sandbox Code Playgroud)

php phalcon volt

2
推荐指数
1
解决办法
3029
查看次数

无处不在的宏

我正在尝试为我的模板创建宏,如下所示:

{%- macro bField(form, name, attributes) %}
    <p class="form-group" ng-class="{has-error: !{{ form.name }}.{{ name }}.$valid}">
        {{ form.label(name) }}
        {#{% set attributes['class'] = 'form-control' %}#}
        {{ form.render(name, attributes) }}
        {% include 'forms/validation-messages.volt' %}
    </p>
{%- endmacro %}
Run Code Online (Sandbox Code Playgroud)

问题是它在视图根目录中的macros.volt文件中,我不知道如何或在何处包含它,因此它随处可用.我尝试使用包含和部分函数的根布局(index.volt),但仍然无法正常工作.甚至在模板文件中我都没有尝试使用它.我做错了什么,如何解决这个问题?

另一件事是如何在数组中的某个键上设置值.我显然尝试过{% set attributes['class'] = 'form-control' %},但它不起作用.

phalcon volt

2
推荐指数
1
解决办法
1779
查看次数

如何在伏特模板中动态引用模板文件?

我们知道,{% include header.volt %}是名字的参考文件header.volt.

如何在伏特模板中动态引用模板文件?
像这样:
     {% include variable %}
     当变量相等时footer.volt,程序将引用带有名称的文件,footer.volt
    当变量相等时index.volt,程序将引用名称为的文件index.volt...

谢谢!

include phalcon volt

2
推荐指数
1
解决办法
2170
查看次数

如果路径连接,则不包括文件

我正试图在伏特中迭代一个模型集合:

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

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

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" %}
Run Code Online (Sandbox Code Playgroud)

它也将失败:

{% include "partials/pandels/edit-" ~ "image.volt %} 
Run Code Online (Sandbox Code Playgroud)

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

phalcon volt

2
推荐指数
1
解决办法
1025
查看次数

如何创建带参数的 volt URL

我想使用 volt (Phalcon) 创建一个 URL。

我试过了:

{{ url("order/view/", ["id" :order.id]) }}
Run Code Online (Sandbox Code Playgroud)

但是,这会产生一个 URL,如:

http://localhost/gateway-new/order/view/?id=7
Run Code Online (Sandbox Code Playgroud)

而我希望网址看起来像:

http://localhost/gateway-new/order/view/id/7
Run Code Online (Sandbox Code Playgroud)

知道如何正确执行此操作吗?

php phalcon volt

2
推荐指数
1
解决办法
3538
查看次数

多维数组 - 如何以伏特形式访问它

好的,我创建了一个多维数组并将其存储在文章中

如果我做

{{ dump(articles) }}
Run Code Online (Sandbox Code Playgroud)

它返回

array(2) {
  ["Comedy"]=>
  array(3) {
    [0]=>
    string(18) "Comedy Title1"
    [1]=>
    string(57) "Comedy Title2"
    [2]=>
    string(41) "Comedy Title3"
  }
  ["Horror"]=>
  array(3) {
    [0]=>
    string(18) "Horror Title1"
    [1]=>
    string(57) "Horror Title2"
    [2]=>
    string(41) "Horror Title3"
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我想要实现的是循环,打印标题,然后打印每个部分的标题:

**Comedy**
Comedy Title1
Comedy Title2
Comedy Title3

**Horror**
Horror Title1
Horror Title2
Horror Title3
Run Code Online (Sandbox Code Playgroud)

但是我可以毫无问题地访问标题,但似乎无法访问标题。

这是我到目前为止所拥有的

{% for heading in articles %}
    {{ heading[loop.index0] }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这将返回第一个部分的第一个值和第二个部分的第二个值

 comedy Title1
 horror Title2
Run Code Online (Sandbox Code Playgroud)

如果我做

{% for heading in …
Run Code Online (Sandbox Code Playgroud)

multidimensional-array phalcon volt

1
推荐指数
1
解决办法
1619
查看次数

如何使用ajax在Volt/Phalcon上实现特定块?

在我的伏特模板中:

    <div class="container">
        {% block conteudo %}
        {% endblock %}
    </div>
Run Code Online (Sandbox Code Playgroud)

我想通过ajax动态加载该块.我所有的孩子都有阻碍.我怎么能这样做?

谢谢你的帮助.

php ajax frameworks phalcon volt

0
推荐指数
1
解决办法
1939
查看次数