twig 相关问题

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

twig 错误:值“:”的意外标记“标点符号”(预期为“语句块结束”)

我正在尝试获取同事的所有开始日期并计算总共的工作经验年数。 但是我收到以下错误 Twig\Error\SyntaxError:意外的标记“

回答 1 投票 0

修改OpenCart 3.0.4默认主题column_right菜单

OpenCart 提供的默认功能比我希望为用户提供的更多。我当前的挑战是如何从菜单中删除“定期付款”和“下载”等菜单条目...

回答 1 投票 0

将变量传递给宏的问题

我有一个显示 4 个链接的菜单块。如果用户具有特定角色,我想删除最后一个。 菜单块是在特定的树枝文件中和宏内部创建的,如下所示: {% 进口

回答 1 投票 0

我需要在 twig Symfony 中检索用户

我的博客 在这里,我在 Twig 中检索用户的代码遇到了一些问题,我在 Article 表和 User 表之间有一个 ManyToOne 关系,我想检索

回答 2 投票 0

重定向到#about 使用 symfony&twig 页面

我正在使用 Symfony ,我想将用户重定向到页面中的特定框架 那么我怎样才能将这个 翻译成 twig 呢?我试过了 我正在使用 Symfony ,我想将用户重定向到页面中的特定框架 那么我怎样才能将这个<a href="index.html#about"/>翻译成twig呢?我尝试过<a href="{{path('pl_index')}}#about"/>但没用 在 twig 中你可以使用 {{path('_welcome') }} ,它会将你发送到你的 home 索引,检查你的route.yml,你可以看到 symfony 生成的路径是什么。 例如这是我的 config.yml: //savabundle config.yml sava_inventario_construccion: path: /productos/construccion defaults: { _controller: savaInventarioBundle:Inventario:construccion } sava_inventario_index: path: /productos/ defaults: { _controller: savaInventarioBundle:Inventario:index } 如果我想生成 www.mypage.com/productos/construccion#about 链接,这就是我的 html 的样子 <a href="{{path('sava_inventario_construccion') }}#about"/> 您可以在这里阅读更多内容 http://symfony.com/doc/current/book/templated.html ¡与 TuMaquinaYa 一起构建未来! 🚜🏗️ ¿ 需要 maquinaria amarilla 或 pesada para tu próximo proyecto 吗?挖掘机有推土机,需要在施工中进行。 Conecta con proedores confiables y alquilaEquipos en menos de 24 hras, garantizando calidad y efficiencia. 描述 TuMaquinaYa 和 las mejores herramientas 项目的潜力。 🔧✨ ¿Qué maquinaria amarilla 考虑是否对 proyectos 至关重要? 🏗️👇 ¡Cuéntanos en los commentarios!

回答 2 投票 0

如何从 twig Symfony 5.2 覆盖 form_errors() ?

如何覆盖 Symfony 5.2 中的表单字段验证错误模板? 我在树枝中有这样的形式 {{ form_start(registrationForm) }} 名称: {{ 形式...

回答 3 投票 0

VS Code 支持单击路径时“转到定义”(打开文件)

使用 VS Code 时,只需按住 Ctrl 键并单击变量、函数名称或路径即可转到其定义。遗憾的是我不能让这个工作适用于 Twig 文件。 是否有任何 VS Code 扩展可以启用...

回答 1 投票 0

在 symfony 7 中提交后如何更改变量

我在验证某些条件后单击提交按钮后尝试更改变量。 我使用普通的 html 表单而不是 symfony 表单 idk 如果有什么区别的话。 控制器: #[柔...

回答 1 投票 0

树枝循环分组

假设我在数组中有一些名为“人”的数据,然后将其放入树枝模板中,如下所示: 名字 |姓氏 |颜色 弗莱德·史密斯·蓝 詹姆斯·霍姆斯·雷德 莎拉·费舍尔 B...

回答 8 投票 0

循环遍历同一模板中的两个对象

我希望能够在模板中并排循环两个对象,如下所示:- 应用程序.php 返回 $twig->render('index.twig', ['fixtures' => $fixtures, 'weathers' => $weathers...

回答 1 投票 0

如何调试symfony 6中的“如果Twig包不可用,则无法使用“renderView”方法”错误?

我最近刚刚将我的项目从 symfony 4 升级到 6,没有太多问题。目前网上版本使用的是symfony6没有问题。 我现在正在尝试清理代码,删除一些无用的

回答 2 投票 0

Symfony2-Rookie:动态设置路径

ok,我设法将测试页的代码与 JMSTranslationBundle 结合起来在 twig 中切换语言,如下所示 好的,我设法将测试页的代码与 JMSTranslationBundle 结合起来在 twig 中切换语言 <li> <a href="{{ path("main", {"_locale": "en","name": name}) }}"> <img src="{{ asset('img/flags/gb.png') }}"></a></li> <li> <a href="{{ path("main", {"_locale": "de","name": name}) }}"> <img src="{{ asset('img/flags/de.png') }}"></a></li> 但这对path ("main")有用 我怎样才能让它动态地适用于我当前正在处理的页面/路线,包括所需的参数(在这种情况下"name": name?所以如果我当前在“关于我们”的英文页面上,我可以自动切换到德语页面关于我们,包括它的参数吗?或者我必须使用路径对每个树枝页面/模板进行硬编码吗? 这描述了一个与您正在寻找的扩展完全一样的扩展:http://blog.viison.com/post/15619033835/symfony2-twig-extension-switch-locale-current-route 可以通过注入 ScopeWideningInjectionException 来检索路由器和请求来修复 @service_container,而不是直接注入它们。 硬编码是一个坏主意,这是可以实现的,但据我所知还不是开箱即用的。为了提供具有相同路径和参数但针对不同语言环境的 url,我所做的就是创建一个自定义树枝扩展来执行此操作。 此扩展提供了一个新的 twig 函数,它将读取当前路由、当前参数、消除私有参数并为另一个语言环境生成相同的路由。这是有问题的树枝扩展: <?php namespace Acme\WebsiteBundle\Twig\Extension; use Symfony\Component\DependencyInjection\ContainerInterface; class LocalizeRouteExtension extends \Twig_Extension { protected $request; protected $router; public function __construct(ContainerInterface $container) { $this->request = $container->get('request'); $this->router = $container->get('router'); } public function getFunctions() { return array( 'localize_route' => new \Twig_Function_Method($this, 'executeLocalizeRoute', array()), ); } public function getName() { return 'localize_route_extension'; } /** * Execute the localize_route twig function. The function will return * a localized route of the current uri retrieved from the request object. * * The function will replace the current locale in the route with the * locale provided by the user via the twig function. * * Current uri: http://www.example.com/ru/current/path?with=query * * In Twig: {{ localize_route('en') }} => http://www.example.com/en/current/path?with=query * {{ localize_route('fr') }} => http://www.example.com/fr/current/path?with=query * * @param mixed $parameters The parameters of the function * @param string $name The name of the templating to render if needed * * @return Output a string representation of the current localized route */ public function executeLocalizeRoute($parameters = array(), $name = null) { $attributes = $this->request->attributes->all(); $query = $this->request->query->all(); $route = $attributes['_route']; # This will add query parameters to attributes and filter out attributes starting with _ $attributes = array_merge($query, $this->filterPrivateKeys($attributes)); $attributes['_locale'] = $parameters !== null ? $parameters : \Locale::getDefault(); return $this->router->generate($route, $attributes); } /** * This function will filter private keys from the attributes array. A * private key is a key starting with an underscore (_). The filtered array is * then returned. * * @param array $attributes The original attributes to filter out * @return array The filtered array, the array withtout private keys */ private function filterPrivateKeys($attributes) { $filteredAttributes = array(); foreach ($attributes as $key => $value) { if (!empty($key) && $key[0] != '_') { $filteredAttributes[$key] = $value; } } return $filteredAttributes; } } 现在,您可以通过捆绑包加载此服务定义或直接加载到位于 config.yml 下的 app/config 文件中来启用此树枝扩展。 services: acme.twig.extension: class: Acme\WebsiteBundle\Twig\Extension\LocalizeRouteExtension scope: request arguments: request: "@request" router: "@router" tags: - { name: twig.extension } 现在您可以在 twig 中执行此操作以提出当前加载页面的不同版本: <a id='englishLinkId' href="{{ localize_route('en') }}"> English </a> <a id='frenchLinkId' href="{{ localize_route('fr') }}"> Français </a> 希望这对您有所帮助,这就是您正在寻找的。 编辑: 看来直接缩小twig扩展的范围是不可能的。为了避免这种情况,请始终注入依赖项容器,然后检索所需的服务。这应该通过更改 twig 扩展的构造函数定义和扩展的服务定义来反映。我编辑了之前的答案,检查新更新的构造函数定义和新服务定义。 另一种可能的解决方案是注入一个帮助服务来负责本地化路线。该辅助服务应该在请求范围内。事实上,这就是我的代码中的内容。我有一个 RoutingHelper 服务注入到我的树枝扩展中。然后,在方法executeLocalizeRoute中,我使用我的助手来完成这项艰苦的工作。 告诉我现在一切是否正常。 问候, 马特

回答 2 投票 0

Symfony2 FOSUserBundle 重写表单

我正在尝试更改应用程序中注册表单的模板,以便我可以向其中添加一些其他 HTML。 这是 /My/UserBundle/Resources/views/Registration/register.html.twig ...

回答 3 投票 0

Symfony 渲染控制器异常模板(“”)

我尝试在树枝内渲染控制器。我遵循文档“嵌入其他控制器”。 我经常收到 render(controller()) 方法的异常: 抛出异常

回答 1 投票 0

如何在 silex 中管理嵌套表单集合

我有一个表单集合 POI,我想向其中添加一个媒体集合,但是我无法让 JS 动态添加/删除嵌套媒体集合。 poi 表单类型 - th...

回答 1 投票 0

遵循 Doctrine 查询的关系

我尝试学习 Symfony 速成课程,但我被 ATM 困住了。结构相对简单,我有 3 个实体,其设置如下: 定价计划好处 姓名 细绳 ...

回答 1 投票 0

RegEx 从树枝模板中提取块[重复]

在 PHP 中,我想提取树枝块中包含的文本,并认为正则表达式是最有效的。 假设我有一个包含以下内容的文件“index.twig”: {% 块内容 %}

回答 3 投票 0

Symfony2 twig 移动模板后备

如果不存在移动版本,我需要一种简单的方法来回退到默认模板。 通过一些正则表达式,我识别移动平台并希望使用以下模式渲染模板...

回答 4 投票 0

twig 过滤多个参数

我正在尝试创建一个可以处理 2 个参数的特定树枝过滤器。 $documentURL = new Twig_SimpleFilter('documentURL', function($DocumentId, $UserId){ $URL =“http://example.example.com/

回答 2 投票 0

Twig 模板中的“开头为”

我有一个树枝模板,我想测试一个项目是否以某个值开头 {% if item.ContentTypeId == '0x0120' %} {{ item.BaseN...

回答 4 投票 0

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