twig 相关问题

Twig是一款适用于PHP的现代,快速,灵活且安全的模板引擎。为Symfony创建并由Drupal 8采用。

如何在ajax请求中与formData一起发送附加数据

我有一个关于文件输入值更改的以下ajax请求。 $(':文件').change(函数(){ var file = this.files[0]; var formData = new FormData($('form')[0]); 变量 ID= $...

回答 4 投票 0

Symfony2 Twig url() https

我需要生成一个使用安全 HTTP 协议的绝对 URL,因为它是第三方支付网关解决方案使用的支付页面模板,需要...

回答 1 投票 0

无法用twig宏显示评论树

我正在尝试使用 twig 宏渲染评论树,但不断收到以下错误: “既不是属性“comments”,也不是方法“comments()”、“getcomment...

回答 1 投票 0

Twig 替换字符串中的加号和两个空格

我对 Twig 还很陌生,所以请耐心等待:) 我有一个像这样的字符串: 一些+名字 我希望将其更改为 某个名字 我正在使用替换过滤器,效果很好。但是我需要更换...

回答 2 投票 0

使用twig将变量过滤到url中

我有一个变量 {{ name }} 输出治疗和支持。我需要删除 & 符号并将名称转换为带有 twig 的可用 url slug,例如:治疗支持。 我有

回答 3 投票 0

如何在Twig中调用'time_diff'过滤器

如何在 Twig 中调用“time_diff”函数 代码 {{ post.created_at|time_diff }} 输出 过滤器“time_diff”不存在

回答 5 投票 0

根据其他实体的 ID 编辑我的实体

我想根据Twig中表单中的测试ID编辑我的类别实体并将其绑定到数据库, 当我打开编辑时,它会显示我编辑的表单,但它们不会绑定数据库中的 id 测试...

回答 1 投票 0

与选民一起进行symfony表演

在我的 symfony 应用程序中,我使用投票者来检查用户是否可以访问某些功能。 现在,我有一个导航栏,其中根据这些权限显示或隐藏菜单。 这个导航栏单独渲染...

回答 2 投票 0

如何导入多个宏?

我想从一个地方优雅地导入多个宏。 我创建了一个名为“macros.twig”的文件并将其包含到我的模板中: {% 包含“_includes/宏”%} 在该文件中,我...

回答 2 投票 0

如何检查三元运算符以检查变量为 0 然后 1 和 0 然后 1 的两个条件?

<% let pinId = (comment.pinnedId == 0) ? "1" : "0" %> 这是我的三元条件检查树枝文件

回答 1 投票 0

Twig:“for”标签中的分隔符

请问有语法可以分隔“for”标签中的某些元素吗? 例如,我有一个用户列表,我想用“-”分隔符显示他们的用户名,所以预期结果是:

回答 2 投票 0

Symfony 中的代码放置(服务/存储库)

使用Symfony 6,我有一个实体文章,其中有Cat(egories)。 我想得到这样的猫的网址: {% for data.body.article.cats 中的项目 %} 使用 Symfony 6,我有一个实体文章,其中有 Cat(egories)。 我想得到这样的猫的网址: {% for item in data.body.article.cats %} <li><a href="{{ item.url }}">{{ item.cat }}</a></li> {% endfor %} 但是 Cat->url 不是数据库中的字段,它是生成的值。 我的问题: 我认为在实体猫中创建函数 getURL() 是不对的,因为它不是数据库字段。所以我应该将该函数放在 CatService.php 或 CatRepository.php 中。它在哪个文件中? (什么时候使用Service,什么时候使用Repository?) 如何从 twig 文件中调用该函数? 如何在该函数中使用当前的 Cat 对象? 谢谢! 谷歌搜索,但我无法真正找到服务和存储库之间的区别。 您可以创建一个新的控制器和路由以供Category实体列出或读取,您不需要说出您将做什么并使用twig的path()函数来生成url。您可以从这里阅读有关路径函数的更多信息https://symfony.com/doc/6.4/reference/twig_reference.html#path。你的树枝应该看起来像: {% for item in data.body.article.cats %} <li><a href="{{ path('your_category_route', {category: item.id}) }}">your category name</a></li> {# or whatever is your relation to category, you don't give any info about relations #} {% endfor %} 你的路线应该是这样的: your_category_route: path: /url-path/{category}/ controller: YourControllerPath::method 服务与存储库 为了简单起见: 服务用于业务操作等逻辑动作 存储库用于存储和调用数据库操作(创建实体、获取实体、自定义查询等) 服务可以调用存储库中的方法。 从 Twig 调用函数 如果您想在实体对象中调用函数:{{ item.MyFunction() }}。 您还可以创建自定义 Twig Extension 来实现更复杂的行为。 在该函数中使用 Cat 对象 如果该功能位于您的实体内:{{ item.MyFunction(item.cat) }}。 使用自定义树枝扩展:{{ item.cat|twig_extension }},其中 twig_extension 是您在上一节中开发的扩展。 请注意,您没有共享您的实体类,因此您需要将我的示例应用于您的实体以使其正常工作!

回答 2 投票 0

如何在twig中使用单注释行和多注释行

我是树枝项目的新手。我需要注释一些代码,例如 // 或 /**/。如何在树枝中使用评论? {%如果角色=3%} 我是树枝项目的新手。我需要注释一些代码,例如 // 或 /**/。如何在twig中使用评论? {%if role=3 %} <div class="col-md-6"> <div class="form-group"> <label class="control-label">&nbsp;</label> <select multiple class="form-control" id="path_attachment" name="path_attachment[]"></select> </div> </div> {% else %} <div class="col-md-6"></div> {% endif %} {# Commented Code in Twig #} 希望对您有帮助。 twig 命令关键字是#。在 {# 内部使用并以 #} 结尾。以下是您需要的答案。 {#%if role=3 %} <div class="col-md-6"> <div class="form-group"> <label class="control-label">&nbsp;</label> <select multiple class="form-control" id="path_attachment" name="path_attachment[]"></select> </div> </div> {% else %} <div class="col-md-6"></div> {% endif %#} 评论:) 注释掉一行或多行代码(或一行的一部分) 使用 {# ..... #} 语法。 例如: 单行评论: {# This will be a comment #} 线路的某些部分: <p>You can also comment out {# part of a line #}.</p> 多行评论: {# This will be a multi-line comment. #} 注释不仅仅对于编写代码注释有用。您还可以导致代码块不被执行。注释标签之间的任何 Twig 代码都不会被执行或输出。 {# The following code will not be executed and nothing will be outputted {% if category.posts %} This category has posts {% endif %} #} 您还可以使用 IDE/编辑器配置快捷方式来注释多行。 在 PhpStorm 中,我使用 Ctrl + b 来完成此操作。 您还可以使用 html 注释标签 <!-- --> 特别是如果您想注释掉已经包含树枝注释的代码块。 它将忽略现有的 {# #} 标签。 ;) <!-- {# some existing comment using twig comment tags #} -->有可能 {# {# some existing comment using twig comment tags #} #}不是

回答 5 投票 0

Twig 与额外列的关系

我遇到问题,但不知道解决它的最佳实践。 我想要一个用于我的核心数据的表格。核心数据都是可版本化的。 我用 GUID 解决了这个问题,以了解 ve 的一致性...

回答 1 投票 0

自定义错误页面中的 Silex 和 Twig 助手

我在 Silex 中渲染自定义错误页面时遇到问题。 根据我在此链接中找到的内容:http://refactoring.us/silex/custom-error-pages-with-silex-and-twig/。 我正在努力...

回答 1 投票 0

Symfony:无法加载 Twig 扩展运行时

我按照本指南向 Symfony 4 项目添加自定义 Twig 扩展。 我的应用程序\Twig\AppExtension如下: 我按照本指南向 Symfony 4 项目添加自定义 Twig 扩展。 我的App\Twig\AppExtension如下: <?php namespace App\Twig; use Twig\Extension\AbstractExtension; use Twig\TwigFunction; class AppExtension extends AbstractExtension { public function getFunctions() { return [ new TwigFunction('getController', [AppRuntime::class, 'getController']) ]; } } 还有我的App\Twig\AppRuntime: <?php namespace App\Twig; use Symfony\Component\HttpFoundation\RequestStack; class AppRuntime { private $request; public function __construct(RequestStack $requestStack) { $this->request = $requestStack->getCurrentRequest(); } public function getController() { return $this->request->get('_controller'); } } 但是如果我尝试在模板中使用 getController() 函数,我会收到此异常: 无法加载“App\Twig\AppRuntime”运行时。 Twig 模板中的以下行会产生此错误: echo twig_escape_filter($this->env, $this->env->getRuntime('App\Twig\AppRuntime')->getController(), "html", null, true); php bin/console debug:container 将 App\Twig\AppRuntime 显示为正确的服务。我也尝试过将 App\Twig\AppRuntime 设置为公共服务,但没有成功。 这里可能出现什么问题? 很可能您忘记标记您的树枝扩展服务。 您在第一个示例中得到了如何执行此操作的说明: https://symfony.com/doc/current/service_container/tags.html 要将评论放入答案中,此错误有两种解决方案。 解决方案1 实施RuntimeExtensionInterface class AppRuntime implements RuntimeExtensionInterface 启用运行时服务的自动配置 App\Twig\AppRuntime: autoconfigure: true 解决方案2 将 twig.runtime 标签添加到运行时服务 App\Twig\AppRuntime: tags: - { name: twig.runtime } 我刚刚解决了这个问题,我的情况有所不同,让我把它留在这里,以防它对任何人有帮助。 我得到:Unable to load the "MyCustomFunctions" runtime in "main" at line 1 我加载函数的方式不是在扩展内,而是一个接一个地加载,如下所示: $twig->addFunction(new TwigFunction('print', 'MyCustomFunctions::print')); 这是我作为类方法的函数定义 MyCustomFunctions: // just as an easy to test example public function print($var = '') { return print_r($var, true);; } 解决方案 问题是我加载函数的方式与函数声明不一致。我忘记了函数声明 public static function,其中有 static。现在它与加载函数时使用的 :: 可调用相匹配。 很明显,一旦你看到它,但从错误消息来看却非常不明显......我花了很长时间才弄清楚这一点。

回答 3 投票 0

Vim、Twig 和 html 缩进

我正在尝试格式化 Twig 文件中的 html,但我遇到了缩进问题。我探索了各种解决方案: Prettier(通过 ALE 插件):不幸的是,它不支持 Twig。 运行 php ...

回答 1 投票 0

表单字段中的 symfony twig 变量

我的 FromType 文件中有许多具有名称的字段: //表单类型.php for($i=0;$iadd('matricola_'.$i, TextType::class, array( /*....*/ ->add('tipologia_'.$i, TextType::

回答 2 投票 0

Drupal twig 模板(如果移动)

好吧,我正在尝试开发drupal模板,我需要告诉你,我不太明白如何使用If mobile。 {% if is_mobile() %} {{ 页面.内容 }} {% 万一 %} 我以为这个...

回答 1 投票 0

Symfony 2 - 删除表单和 CSRF 令牌

我有一个来自数据库的条目列表。我希望在每一行的末尾都有一个“删除按钮”,这样用户就不必先转到编辑/显示页面来删除条目。 我

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.