如何使用 KnpMenuBundle 和 Symfony3 排除某些字符串出现在缺失的翻译中

2024-04-25

介绍

在我的个人项目中我使用:

  • XAMPP 与 PHPv7.1.6
  • Symfony v3.3.8
  • Knp菜单包dev-master / 2.2.x-dev (dev版本,因为它与当前版本兼容Symfony 3.3.x版本,早期版本未通过安装composer.) [link 1] https://packagist.org/packages/knplabs/knp-menu#dev-master, [link 2] https://symfony.com/doc/current/bundles/KnpMenuBundle/index.html, [link 3] https://github.com/KnpLabs/KnpMenuBundle为了管理菜单。
  • 引导程序v3.3.7
  • Bootstrap 和 KnpMenuBundle 集成[link 4] https://gist.github.com/Invis1ble/503db8bb9ff6dafc52c8b2bf7c6fec42

配置

为了进行设置,我使用了 [2]、[3] 中的文档和代码示例 [4]。我的菜单正在工作,之间的集成Bootstrap and KnpMenuBundle也有效。

Problem

我在用Logged in as myTestUserName in user profile菜单的一部分。我想从翻译中排除此项目,因为我正在手动获取完整翻译的字符串(代码示例 1)。

此刻即使与translation_domain明确设置为false我在缺少的部分得到了所述菜单项Translation Messages部分中的profiler.

Images

Question

在使用时确保特定翻译不包含在缺失部分中的正确方法是什么KnpMenuBundle?

代码:样本 1

我的样本MenuBuilder

$profile->setChildrenAttribute("class", "dropdown-menu")
    ->addChild('Logged in as', array('label' => $getTranslatedLoggedInAs))
    ->setExtra('divider_append', true)
    ->setExtra('translation_domain', false);

代码:样本2

getting loggedInAs翻译后的字符串MenuBuilder

public function getTranslatedLoggedInAs()
{
    $user = $this->tokenStorage->getToken()->getUser();
    //dump($user);

    $translated_logged_in_as = '';

    $anonymous_user = 'anon.';
    if ($user->getUsername() !== $anonymous_user)
    {
        $translated_logged_in_as = $this->translator->trans(
            'layout.logged_in_as', ['%username%' => $user->getUsername()], 'FOSUserBundle'
        );
    }
    elseif ($user->getUsername() === $anonymous_user)
    {
        $translated_logged_in_as = $this->translator->trans(
            'layout.logged_in_as', ['%username%' => $anonymous_user], 'FOSUserBundle'
        );
    }

    return $translated_logged_in_as;
}

结论

请指教。

感谢您的时间和知识。


我想你在块中的[链接4]中有错误label. translation_domain没有检查false并且标签以任何方式翻译。

{% block label %}{{ item.label|trans(
    item.getExtra('translation_params', {}),
    item.getExtra('translation_domain')
) }}{% endblock %}

看看它是如何工作的KnpMenuBundle https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/views/menu.html.twig https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/views/menu.html.twig

{% block label %}
    {%- set translation_domain = item.extra('translation_domain', 'messages') -%}
    {%- set label = item.label -%}
    {%- if translation_domain is not same as(false) -%}
        {%- set label = label|trans(item.extra('translation_params', {}), translation_domain) -%}
    {%- endif -%}
    {%- if options.allow_safe_labels and item.extra('safe_label', false) %}{{ label|raw }}{% else %}{{ label }}{% endif -%}
{% endblock %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 KnpMenuBundle 和 Symfony3 排除某些字符串出现在缺失的翻译中 的相关文章

  • 如何在 Laravel 5 中对合并集合进行分页?

    我正在创建一个包含两种类型的对象的流 BluePerson 和 RedPerson 为了创建流 我获取所有这两个对象 然后将它们合并到一个集合中 这样做之后 我需要对它们进行分页 但是分页似乎是针对雄辩的模型和数据库查询 而不是集合 我见过
  • 使用php在html页面中显示bbcode

    我已经有一个 bbcode 字符串 mybbcode b Hello word b 使用 php 我想在 html 页面中以 html 格式显示它 例如 div gt b hello word b div 基本上其他人已经对你说过了 但是如
  • 如何使用 jquery ajax 将锚点的值发送到 php

    我正在尝试使用 jquery 将几个锚点的值发送到 php 文件 但我没有从 php 脚本中得到回调 div class result div a href value class star Star 5 a a href value cl
  • 如何使用 php imap 将邮件消息移动到文件夹

    我似乎无法将邮件移至已保存的文件夹 这是我的代码 mbox imap open mail server mail port mail folder mail username mail password or die Error openi
  • 知道何时调用 persist

    我正在使用 Doctrine 2 作为我的 ORM 一切进展顺利 但我一直想知道EntityManager persist 方法 这 持久实体 https www doctrine project org projects doctrine
  • 为什么 SORT_REGULAR 在 PHP 中产生不一致的结果?

    我正在开发一个类 它使 PHP 中的数组排序变得更容易 并且我一直在使用 SORT 常量 但是行为或SORT REGULAR 默认排序类型 似乎有所不同 具体取决于您在数组中添加项目的顺序 此外 我找不到任何模式来解释为什么会出现这种情况
  • $_REQUEST、$_GET、$_POST 哪一个最快?

    这些代码中哪一个会更快 temp REQUEST s or if isset GET s temp GET s else temp POST s REQUEST http php net manual en reserved variabl
  • 在 php 和 mysql 中使用 utf8mb4

    我读过 mysql gt 5 5 3 完全支持每个可能的字符 如果您使用编码utf8mb4对于某个表 列http mathiasbynens be notes mysql utf8mb4 http mathiasbynens be note
  • PHP:如何发送电子邮件基础知识

    我想使用 PHP 从本地主机向其他人发送电子邮件 我需要做什么才能做到这一点 例如我需要安装邮件服务器吗 如果我没记错的话 有一种语言不需要邮件服务器来发送电子邮件 这样对吗 PHP ini里面有 邮件功能 如何配置这个 我在网上查了一下
  • 如何在 PHP 中运行 shell 脚本?

    我正在尝试使用 PHP 触发 shell 脚本的运行 本质上 当用户在我们用 PHP 编写的网站上完成一个操作时 我们希望触发一个 shell 脚本 该脚本本身调用一个 Java 文件 提前致谢 See shell exec http ph
  • 如何在 Laravel 5 中的视图模板上显示会话数据

    我正在尝试在 Laravel 5 中的视图模板上显示会话数据 但是它似乎没有显示任何内容 这是我用来设置会话的代码 Session set bookingConfirmed BookingDates where id Session get
  • Symfony Serialize 学说实体

    我有一个简单的实体类
  • 无法显示由 Fine-uploader 上传到 Amazon s3 的图像

    我现在尝试设置fineuploader s3以显示在aws服务器上成功上传的文件的图像 如示例页面上所做的那样 http fineuploader com s3 demo http fineuploader com s3 demo 我 仍然
  • 根据类别 woocommerce 更改同一产品的默认变体值

    我正在研究一种根据其所属类别显示同一产品的默认变体值的方法 例如 我出售一张带有蓝色和红色选项的卡 当用户进入 一 类别时 我希望默认值为蓝色 如果他属于第二类 则该值将为红色 我发现了一个钩子woocommerce product def
  • PHP函数返回值到html标签

    我想获取函数的返回值并将其显示到特定的id 在我的 Class php 中 我有一个名为 login 的函数 用于验证密码是否正确 不正确
  • 将 Sweet Alert 弹出窗口添加到 React 组件中的按钮

    我为 Bootstrap 和 React 找到了这个完美的 Sweet Alert 模块 我在 Meteor 应用程序中使用它 http djorg83 github io react bootstrap sweetalert http d
  • 除括号之间的内容外,所有内容均小写

    考虑以下字符串 LoReM FOO IPSUM dolor BAR Samet fooBar 我正在寻找一种方法来小写所有内容 除了 brackets 之间的内容应该被忽略 所以期望的输出是 lorem FOO ipsum dolor BA
  • phpstorm xdebug 与 symfony2 项目

    我正在尝试使用 xdebug 和 phpstorm 调试 symfony2 应用程序 我的本地开发环境是Ubuntu 14 04 with apache2 Xdebug版本是2 2 7 我在另一个 php 不是 symfony2 项目上使用
  • PHP 中的简单 JSON 请求

    我有以下 json country code latitude 45 9390 longitude 24 9811 zoom 6 address city country Romania country code RO region 我只想
  • 通过纱线安装 bootstrap 的 Rails 找不到字体

    我有一个带 Bootstrap 的 Rails 5 应用程序 我用纱线安装了它 我做了以下事情 yarn add bootstrap bootstrap 3 3 7 version 3 3 7 resolved https registry

随机推荐

  • 在 Visual Studio 数据库项目/SQL Server 中创建默认数据

    有没有办法在VS 2010的数据库项目中使用数据生成计划来创建一组默认数据 或者我是否找错了树 即数据生成计划是否最适合创建虚拟示例数据 我们有大量需要为每个数据库部署创建的数据 默认设置 默认用户等 如果有工具来帮助我们解决这个问题就好了
  • 在列表中查找最新版本

    我可以在文件夹中搜索所有版本日志行 但我试图选择列表中的最新版本 但我不知道如何选择 因为列表的元素包含字符和数字 下面是我的代码 用于查找和创建一个名为matched lines的列表 其中包含所有说明日志版本号的行 我希望从创建的列表中
  • 带有附加事件的 EventToCommand

    我在附加事件上使用Validation Error的文本框 验证错误 http msdn microsoft com en us library system windows controls validation error 28v vs
  • 条件绑定

    我是 JavaFx 新手 我正在创建一个应用程序 用户必须填写一些表单 并且我想使用绑定 预先验证 它们 简单的事情 比如所有元素都不能为空 或者其中一些元素只能包含数字 这是我到目前为止所拥有的 saveBtn disableProper
  • dotenv-webpack 在 webpack.config.js 中使用环境变量

    My env设置如下 SECRET KEY mysecretkey123 My webpack config js设置如下 const Dotenv require dotenv webpack module exports proxy a
  • 导入时记录器命名与日志记录配置之间不兼容

    我正在通过读取文件并使用来在 main py 中设置 Python 日志记录文件配置 http docs python org library logging config html选项 我希望能够在测试和实时日志记录配置之间切换 因此我想
  • 用于浮点和整数验证的 JavaScript

    我尝试创建一个 javascript 函数validate integer values从文本框 验证它的最佳方法是什么 以便仅integer and float值可以接受吗 数字验证所需的 javascript 函数 remove whi
  • 在 T-SQL 中处理来自 CLR 存储过程的多个结果

    我有一些用 C 编写的复杂算法作为 CLR 存储过程 过程不是确定性的 取决于当前时间 程序的结果是两个表 我没有找到任何解决方案如何处理 T SQL 中存储过程的多重结果 此过程的性能是关键 过程每约 2 秒调用一次 我发现更新表的最快方
  • 使用 Entity Framework 4 和 Code-First 从数据库中排除字段/属性

    我想知道有没有办法从数据库中排除某些字段 例如 public class Employee public int Id get set public string Name get set public string FatherName
  • Cypress:信用卡支付的自动测试[重复]

    这个问题在这里已经有答案了 我正在做信用卡付款的自动测试 不幸的是 测试在 到期日期 项中失败了 my code cy getWithinIframe name cardnumber type 4242424242424242 cy get
  • MySQL 搜索“$”(美元符号)失败?

    被要求在大量文本中查找美元价值 可以对美元符号进行搜索吗 如果是这样 任何示例 指导将不胜感激 当前查询 select from concept where concept description like 您可能想使用LOCATE查看列值
  • 在Spring+Wicket中上传文件

    要使 Java Web 应用程序 使用 Spring Wicket 开发 接受客户端文件上传到服务器上的特定目录 需要执行哪些步骤 在谷歌搜索这个问题的答案时 我看到建议 WEB INF some directory 应该用作上传位置 这是
  • 将嵌套文件夹和文件名读取为嵌套列表

    我试图将已定义目录的所有文件夹和文件名读取到一个嵌套列表中 该列表与顶层文件夹的数量一样长 然后每个列表元素的元素数量与子目录中的元素数量一样多 如果它是一个文件夹 等等 直到只有文件而没有更多文件夹的级别 我的用例是我的 iTunes M
  • 在 Python 中使用 Selenium 提交表单

    我需要从这些超链接背后抓取一些数据本网站 http www echemportal org echemportal propertysearch treeselect input action queryID PROQ3h3n 然而 这些超
  • 在 MS-Access 中以编程方式隐藏列

    我想根据用户选择的变量数据隐藏或显示列 如何在 MS Access 2003 中将列设置为隐藏 例如 用户更改事件后 For Each ctl In Me FormNameHere Form Controls If TypeName ctl
  • wordpress:以编程方式单击第一个子页面上的“父页面重定向”

    我想在第一个子页面上重定向用户 例如有父页面 页面 A 它有 2 个子页面 child1 和 child 2 当用户单击页面 A 时 将用户重定向到子 1 页面 重定向插件太多 无法将父级重定向到手动设置的子级 1 我想要这个动态 是否可以
  • 使用纯 CodeIgniter 创建 RESTful API?

    我需要仅使用 CodeIgniter 创建 RESTful Web api 我无法使用任何第三方插件或库来执行此操作 我看到大多数人都在使用https github com chriskacerguis codeigniter restse
  • WPF 上下文菜单设计。如何在WPF菜单项中设置背景?

    我创建这样的弹出菜单
  • 在 Gtk::Entry 小部件中强制输入数字

    我正在寻找一种可能的方法 只允许在 Gtk Entry 小部件中输入数字 而不依赖 SpinButtons 问题是 我找到了一个模板 link https mail gnome org archives gtkmm list 2004 Ma
  • 如何使用 KnpMenuBundle 和 Symfony3 排除某些字符串出现在缺失的翻译中

    介绍 在我的个人项目中我使用 XAMPP 与 PHPv7 1 6 Symfony v3 3 8 Knp菜单包dev master 2 2 x dev dev版本 因为它与当前版本兼容Symfony 3 3 x版本 早期版本未通过安装comp