twig 相关问题

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

如何使 Twig 日期可翻译

我在树枝中显示一个 DateTime 对象,如下所示: {{ transaction.getDate|date("F - d - Y") }} 现在我希望月份可以翻译, 例如 2012 年 4 月 - 20 日应该...

回答 3 投票 0

如果 twig 中为 null,则设置默认值

我正在树枝视图中循环我的结果.. {% 表示项目中的项目 %} {{ item.userId.firstName }} {{ item.userId.lastName }} {% 结束 %} 我想设置默认值'User unk...

回答 3 投票 0

symfony 更新 2.6 到 3.4 后奏鸣曲/twig 错误

我正在将项目从 sf2.6(php5.6) 更新到 sf3.4(php7.1)...进展顺利,但现在我遇到了一个错误,我不知道如何解决修理它。 错误输出: PHP 消息:PHP 致命错误:未捕获

回答 1 投票 0

树枝移除断线

所以我有以下代码: {{ use('frontend/assets/AppAsset')}} {{ register_app_asset() }} {{ this.beginPage() }} 但是...

回答 2 投票 0

Symfony 表单生成非预期的占位符元素

通常,应该有两个输出都填充了分类ID - 不知何故,有一个“占位符”元素会导致错误。我真的不明白它从哪里来,任何想法......

回答 1 投票 0

在 Twig 中使用点表示法和 attribute()

是否有人尝试执行诸如 {{ attribute(item, 'subItem.title') }} 之类的操作来访问如下伪代码所示的结构: 类项目{ 私人$子项目; 公共职能...

回答 1 投票 0

Wordpress - 从 Timber Plugin 1.x 切换到基于 Composer 的 Timber 1.x 错误致命错误:未捕获的 LogicException:无法注册扩展

我目前正在尝试将 Timber 的 ouf 网站版本切换为其 Composer 版本。通过在函数中初始化 Timber,我设法加载供应商并使管理员毫无问题地返回...

回答 1 投票 0

我是否正确使用了 Twig 继承?

我发现自己对 Twig 继承的运作方式有点困惑,我想确保我正确地使用它。 目前,我正在探索两种选择:一种能够完全按照预期运行(alth...

回答 1 投票 0

我无法在 Laravel 中向数据库添加数据

公共功能项目(请求$request) { if ($request->isMethod('post')) { $validatedData = $request->validate([ '标题' => '必填', '描述...

回答 1 投票 0

将 4 位字符串中的第三个字符替换为 Twig 中的另一个字符

我的目标是从 4 位数字字符串中屏蔽一位数字。我不想要 2451,而是想要 24*1。 我尝试了 {{ my_var|replace(slice(2, 1): '*') }} 但这会引发以下错误:函数...

回答 3 投票 0

如何向 symfony 小部件根元素添加类

我能够向表单本身添加一个类,例如通过向 form_start/form_row 添加第二个参数等方式向 form_row 添加一个类,就像您在屏幕截图中看到的那样。 但我没能成功...

回答 1 投票 0

Symfony/Twig 在 if 条件下设置变量

我知道这真的很微不足道,也不那么重要,但它可以节省我的一生...... 您知道可以在 PHP 中的 if 块中声明变量 if( $row = $sql->fetch ){ //做一些事情...

回答 4 投票 0

导入的 Twig 宏不显示任何内容,即不工作

我正在尝试实现某种宏自动加载。 这个想法是定义一堆宏并在所有接下来的模板文件中使用它们。 我正在尝试这样做: 我正在尝试实现某种宏自动加载。 这个想法是定义一堆宏并在所有接下来的模板文件中使用它们。 我正在尝试这样做: <?php define('ROOT_FRONT', '/path/to/files/'); define('LAYOUT_DIR', ROOT_FRONT . 'layout/'); include(ROOT_FRONT . 'lib/Twig/Autoloader.php'); Twig_Autoloader::register(); $twig_loader = new Twig_Loader_Filesystem(array(LAYOUT_DIR, ROOT_FRONT)); $twig = new Twig_Environment($twig_loader, array( 'charset' => 'ISO-8859-15', 'debug' => !!preg_match('@\.int$@', $_SERVER['SERVER_NAME']), 'cache' => $_SERVER['DOCUMENT_ROOT'] . '/cache/twig/' )); $macro_code = ''; foreach(array_filter( array_diff( scandir(LAYOUT_DIR . 'macros/'), array('..','.') ), function($file) { return strtolower(pathinfo($file, PATHINFO_EXTENSION)) == 'twig' && is_file(LAYOUT_DIR . 'macros/' . $file); } ) as $file) { $info = pathinfo($file); $macro_code .= '{% import \'macros/' . $info['basename'] . '\' as macros_' . $info['filename'] . ' %}'; } $twig ->createTemplate($macro_code) ->render(array()); $twig->display('index.twig', array()); 如果我有一个文件,比如说,macro/clearfix.twig,它将在$macro_code中生成此模板代码: {% import 'macros/clearfix' as macros_clearfix %} macro/clearfix.twig里面的代码是这样的: {% macro clearfix(index, columns) %} {% if index is divisible by(columns) %} <div class="clearfix visible-md-block visible-lg-block"></div> {% endif %} {% if index is even %} <div class="clearfix visible-sm-block"></div> {% endif %} {% endmacro %} 然后,在index.twig里面,我有这个: {{ macros_clearfix.clearfix(index=2, columns=6) }} 但是什么也没有显示。 但是,以下代码可以工作: {% set index = 2 %} {% set columns = 6 %} {% if index is divisible by(columns) %} <div class="clearfix visible-md-block visible-lg-block"></div> {% endif %} {% if index is even %} <div class="clearfix visible-sm-block"></div> {% endif %} 我可能做错了什么? 我是否误解了什么或错误地应用了它? TL;博士: Twig 要求您将宏加载到将使用它们的文件中。 只需创建自定义函数即可完成您想要的操作。 Twig(至少 v1.30)没有实现宏继承。 这要求您加载要在每个文件上使用的每个单个宏。 做到这一点的唯一方法是使用完全用 PHP 编写的函数。 这就是我已经解决的问题: index.php: <?php define('ROOT_FRONT', '/path/to/files/'); define('LAYOUT_DIR', ROOT_FRONT . 'layout/'); include(ROOT_FRONT . 'lib/Twig/Autoloader.php'); Twig_Autoloader::register(); $twig_loader = new Twig_Loader_Filesystem(array(LAYOUT_DIR, ROOT_FRONT)); $twig = new Twig_Environment($twig_loader, array( 'charset' => 'ISO-8859-15', 'debug' => !!preg_match('@\.int$@', $_SERVER['SERVER_NAME']), 'cache' => $_SERVER['DOCUMENT_ROOT'] . '/cache/twig/' )); // ~ magic happens here ~ foreach(include(LAYOUT_DIR . 'fn.php') as $k => $fn) { $twig->addFunction(new Twig_SimpleFunction("fn_$k", $fn)); } $twig->display('index.twig', array()); fn.php: <?php return array( 'clearfix' => function($index, $columns){ $html = ''; if(!($index % $columns)) { $html .= '<div class="clearfix visible-md-block visible-lg-block"></div>'; } if(!($index & 1)) { $html .= '<div class="clearfix visible-sm-block"></div>'; } return $html; } ); index.twig: {{ fn_clearfix(index=2, columns=6) }} 这样,您的所有代码都会被整齐地索引,新函数会自动创建,并且很容易根据您的喜好进行扩展。 这可能是最糟糕的主意,但它确实有效。 宏 从 Twig 2.0 开始,文件中导入的宏在子模板中不再可用(例如通过包含调用)。您需要在使用宏的每个文件中显式导入宏。 来自 https://twig.symfony.com/doc/1.x/deprecated.html

回答 2 投票 0

EasyAdmin3:将附加变量传递给twig-template(编辑页面)

背景 我想在编辑页面中显示与实体无关的信息。根据官方文档,可以使用configureResponseParameters-function解决。 问题 所以我执行...

回答 1 投票 0

Symfony 如何在 base.html.twig 上包含控制器

我有一个小问题,我是 symfony 的新手,我创建了一个控制器和一个菜单模板,我想将其集成到我的 base.html.twig 中。 我绝对需要调用控制器,因为我...

回答 3 投票 0

允许反斜杠 url symfony2

我正在使用 symfony 2.5 和 Php 5.3.13 制作一个文件资源管理器应用程序。 这里是我的 scanAction 列出了目录的文件: 公共函数listAction($client) { $dir_clients = $this->con...

回答 1 投票 0

Symfony twig 渲染组件,带有为子域生成的 url,就像在主域上一样

我有一个导航和页脚的树枝模板,其中包含指向主页的链接。 {{ url("help") }} -> https://main.com/help 我正在同一代码库的子域上渲染它们。但我不想拥有

回答 1 投票 0

在 TWIG 中转义简单引用

我正在使用这个 TWIG 查询: {% if xpath('md_file','//存档/DOSSIER_MDPH[包含("#FILENAME#", Identifiant)]') %}{{ xpath('md_file','//存档/DOSSIER_MDPH[包含("#文件名#",

回答 1 投票 0

将多个树枝变量连接在一个括号中

我想将3个变量连接在一个括号中,就像PHP一样。 IE 在 PHP 中: 获取图像大小($路径。$图像) 我们可以用点符号连接变量。我怎样才能在树枝中重现这个? {{ 路径.key }} ...

回答 1 投票 0

使用 CRUD 控制器显示信息(EasyAdmin 4 + Symfony 7)

我想知道是否有一种方法可以使用 EasyAdmin 4 和 Symfony 7 将内容包含在 CRUD 控制器中。我已阅读所有文档并在互联网上搜索,但我找不到任何内容

回答 1 投票 0

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