如何使用 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 排除某些字符串出现在缺失的翻译中 的相关文章

  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • 从文本块中提取相关标签/关键字

    我想要一个特定的实现 以便用户提供如下文本块 要求 使用 Linux Apache 2 的 LAMP 环境的工作知识 MySQL 5 和 PHP 5 Web 2 0 标准知识 熟悉 JSON 使用框架 Zend OOP 的实践经验 跨浏览器
  • 使用 strtotime() 计算时间差(以小时和分钟为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions time1
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • 更新重复密钥上的复合密钥 [重复]

    这个问题在这里已经有答案了 我需要更新新行 如果两者都满足 date dat and empId who 作为复合键 但如果其中之一或两者不同 则插入 sql INSERT INTO history SET endtimestamp now
  • 智能位置表单字段

    我的用户注册表单上有一个文本字段location 我本质上希望这个字段能够根据 Google 地图 或同等地图 进行验证 只允许有效位置通过 最好采用类似的格式滑铁卢 伦敦 or 伦敦 英国 要求 除了位置名称之外 我还想返回该位置中心的坐
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • Facebook 中用户的时区是如何编码的

    我需要检查用户的时区 但我找不到它的真正定义 参考API http developers facebook com docs reference api user says 用户的时区与 UTC 的偏移量 现在在维基百科上这些是可能的时区
  • 如何计算加权平均值?

    我的语言是PHP 但是算法应该是相当通用的 我有一个关联数组 比方说 评级和评级次数 ratings array 1 gt 1 2 gt 3 3 gt 6 4 gt 3 5 gt 3 这相当于 1 2 2 2 3 3 3 3 3 3 4 4
  • 需要禁用引导时间选择器的输入

    我正在使用 Bootstrap 时间选择器 我已经成功实施了 但我需要的是用户只能在 30 分钟间隙内插入 例如 10 00 10 30 11 00 等 为此我尝试过的是minuteStep如下图所示 效果完美 fantasyleague
  • Opencart最低下单价不包括一类

    我正在使用 opencart 并成功为所有交易添加了最低订单价格 这是我使用的代码 div div div class warning Minimum 10 Euro to checkout div 现在我想从中排除一个类别 以便可以购买该
  • 根据通过 AJAX 请求的用户输入重绘 google 图表

    我有一个谷歌图表从我的数据库中提取数据 它可以按我想要的方式工作 根据 URL 中的 get 请求 它从所选表中提取数据 我想根据下拉菜单中选定的表通过 ajax 更新此图表 我无法突破的部分是通过 ajax 获取数据响应 我认为下面的代码
  • DOMPDF - 未找到“字体”类

    我正在尝试通过命令行添加字体 每次我尝试都会收到以下错误 Fatal error Class Font not found in home scripts public html MarketingPalv2 load font php o
  • PHP mkdir() 和 fopen() 不起作用 - 权限问题? umask问题?

    以下 PHP 脚本无法创建目录 它也将无法创建文件 当目录已经存在时 ini set error reporting E ALL define ABSPATH SERVER DOCUMENT ROOT echo ABSPATH br br
  • 在 PHP 中将十进制/双精度/浮点值与 PDO 绑定的最佳方法是什么?

    看来类常量只涵盖PDO PARAM BOOL PDO PARAM INT and PDO PARAM STR用于绑定 您只是将十进制 浮点 双精度值绑定为字符串还是有更好的方法来处理它们 MySQLi 允许使用 d 类型表示 double
  • Twig:选择某些块并渲染它们

    我正在将 twig 模板引擎集成到 PHP 应用程序中 特别是 我想使用 twig 引擎来渲染表单 了解了 symfony2 如何使用 twig 渲染表单小部件后 他们有一个巨大的模板文件 其中包含所有小部件 如下所示 block pass
  • 在 Apache 服务器上将特定的 .htm 页面处理为 .php [重复]

    这个问题在这里已经有答案了 我正在为 Apache 服务器编程 并且只需要将一个特定的 html 页面 例如 first htm 作为 PHP 脚本进行处理 可以设置吗 SetHandler http httpd apache org do
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE

随机推荐

  • 在 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