标签: twig

Twig中的三元运算符php(if-then-else的简写形式)

是否可以在树枝模板中使用三元运算符?现在,为了向DOM元素添加一些类依赖于某些条件,我喜欢这样:

{%if ability.id in company_abilities%}
    <tr class="selected">
{%else%}
    <tr>
{%endif%}
Run Code Online (Sandbox Code Playgroud)

代替

<tr class="<?=in_array($ability->id, $company_abilities) ? 'selected' : ''?>">
Run Code Online (Sandbox Code Playgroud)

在本机的PHP模板引擎.

php ternary-operator twig

134
推荐指数
4
解决办法
13万
查看次数

如何访问Twig中的类常量?

我的实体类中有一些类常量,例如:

class Entity {
    const TYPE_PERSON = 0;
    const TYPE_COMPANY = 1;
}
Run Code Online (Sandbox Code Playgroud)

在普通的PHP中,我经常这样做if($var == Entity::TYPE_PERSON),我想在Twig中做这种事情.可能吗?

php templates twig

126
推荐指数
6
解决办法
6万
查看次数

在TWIG中查找字符串中的子字符串

我想找到字符串的子字符串或使用Twig检查是否没有这样的子字符串.换句话说,我需要在php中使用'strstr'或'strpos'的模拟.我用Google搜索并在stackoverflow中搜索了这个问题,但没有找到.有人知道如何解决这个问题吗?

php substring comparison-operators twig

124
推荐指数
1
解决办法
12万
查看次数

PhpStorm环绕/环绕选择?

通常在编码和模板中我需要包装文本的某一部分.是否有任何快捷方式来包装当前选择,例如:

Hello World
"Hello World"

Hello World
{{ trans 'Hello World' }}
Run Code Online (Sandbox Code Playgroud)

我使用PhpStorm 7 for Mac和PC.我找到了类似的东西:ctrl+ alt+ j你可以用html-tag包装,但没有别的.此外ctrl+ alt+ -根据当前文件格式评论当前的选择(PHP,树枝,HTML,...)

settings keyboard-shortcuts twig phpstorm

121
推荐指数
3
解决办法
3万
查看次数

从Twig设置数组元素

如何从Twig中设置已存在的数组的成员?

我尝试下一步:

{% set arr['element'] = 'value' %}
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

在......中意外的标记"标点符号"值"["("预期结束语句块")

php twig

119
推荐指数
4
解决办法
11万
查看次数

树枝:IF有多种条件

似乎我有一个问题,如果声明.

{%if fields | length > 0 || trans_fields | length > 0 -%}
Run Code Online (Sandbox Code Playgroud)

错误是:

Unexpected token "punctuation" of value "|" ("name" expected) in 
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么这不起作用,就像是因为所有管道都丢失了枝条.

我试过这个:

{% set count1 = fields | length %}
{% set count2 = trans_fields | length %}
{%if count1 > 0 || count2 > 0 -%}
Run Code Online (Sandbox Code Playgroud)

但是如果也失败了.

然后尝试了这个:

{% set count1 = fields | length > 0 %}
{% set count2 = trans_fields | length > 0 %}
{%if count1 || count2 -%}
Run Code Online (Sandbox Code Playgroud)

它仍然不起作用,每次都是同样的错误......

所以...这引出了一个非常简单的问题:Twig是否支持多种条件?

php conditional-operator twig

114
推荐指数
1
解决办法
18万
查看次数

symfony 2 twig限制文本的长度并放三个点

如何限制文本的长度,例如50,并在显示屏上放置三个点?

{% if myentity.text|length > 50 %}

{% block td_text %} {{ myentity.text}}{% endblock %}

{%endif%}
Run Code Online (Sandbox Code Playgroud)

symfony twig

114
推荐指数
9
解决办法
10万
查看次数

在Twig路径中添加多个参数

如何在Twig路径中添加多个参数?
说你有这条路线:

article_show:
    pattern:  /article/{slug}
    defaults: { _controller: AcmeArticleBundle:Article:show }
Run Code Online (Sandbox Code Playgroud)

您可以在twig模板中执行此操作:

{{ path('article_show', { 'slug': article.slug }) }}
Run Code Online (Sandbox Code Playgroud)

但是如果你的路由文件中有这个怎么办:

_files_manage:
    pattern: /files/management/project={idproject}&user={iduser}
    defaults: { _controller: AcmeTestBundle:File:manage }
Run Code Online (Sandbox Code Playgroud)

看起来他们没有在他们的文档中介绍这一点.

symfony twig

101
推荐指数
2
解决办法
14万
查看次数

Symfony 2:如何检查用户是否未在模板中登录?

在Symfony 2模板(使用Twig)中,如何有效地检查用户是否未登录?

我不想用ROLE支票.我想要一种直接的方法来检查用户是否未登录.

我知道app.user.usernameanon作品相比,但这对我来说感觉不对.

authentication symfony twig symfony-2.1

98
推荐指数
2
解决办法
8万
查看次数

访问模板中的登录用户

我正在使用FOSuserbundle开始用户注册https://github.com/FriendsOfSymfony/FOSUserBundle

我已经注册/登录和注销了.我现在要做的是获取登录用户数据并将其呈现在我网站的每个页面上.像标题类型的东西中的"Hi username".

似乎在我的app/Resources/views/base.html.twig中嵌入一​​个控制器是执行此操作的最佳方式http://symfony.com/doc/current/book/templating.html#embedding-controllers

所以我编写了我的控制器来访问用户配置文件数据.我无法弄清楚如何在我的嵌入式控制器中访问FOS方法.所以从我的Acme/UserBundle/Controller/UserController.php我想这样做:

public function showAction()
{
    $user = $this->container->get('security.context')->getToken()->getUser();
    if (!is_object($user) || !$user instanceof UserInterface) {
        throw new AccessDeniedException(
               'This user does not have access to this section.');
    }

    return $this->container->get('templating')
      ->renderResponse('FOSUserBundle:Profile:show.html.'.$this->container
      ->getParameter('fos_user.template.engine'), array('user' => $user));
}
Run Code Online (Sandbox Code Playgroud)

我从中获取:vendor/bundles/FOS/UserBundle/Controller/ProfileController.php

symfony twig fosuserbundle

92
推荐指数
2
解决办法
10万
查看次数