Symfony 从控制器设置块内容

2024-04-30

有没有办法在 Symfony 的控制器中设置模板块内容?

有没有办法在控制器中执行类似的操作?

$this->get('templating')->setBlockContent('page_title', $page_title);

我需要动态设置页面标题,并且希望避免修改每个操作模板。

我知道我可以通过$page_title变量为Controller:render但我不想添加

{% block title %}
{{ page_title }}
{% endblock %}

到每一个动作模板。


由于任何父 Twig 模板都会处理传递给其子模板的变量,因此有一种更简单的方法可以实现您想要执行的操作。事实上,此方法基本相当于将内容从控制器写入整个块,因为我们本质上只是插入一个传递的render使用变量直接进入内容{% block %}{{ variable }}{% endblock %}

使用标题栏启动基本布局模板

{# Resources/views/base.html.twig #}
<html>
<head>
     <title>{% block title %}{{ page_title is defined ? page_title }}{% endblock %}</title>
{# ... Rest of your HTML base template #}
</html>

The {% block %}部分不是必需的,但如果您想覆盖或附加到它(使用parent())

您还可以添加站点范围的标题,以便page_title如果存在的话可以追加:

<title>{% block title %}{{ page_title is defined ? page_title ~ ' | ' }}Acme Industries Inc.{% endblock %}</title>

使用每个子模板扩展此基本布局

{# Resources/views/Child/template.html.twig #}
{% extends '::base.html.twig' %}

{# You can even re-use the page_title for things like heading tags #}
{% block content %}
    <h1>{{ page_title }}</h1>
{% endblock %}

通过page_title进入你的render引用您的子模板的函数

return $this->render('AcmeBundle:Child:template.html.twig', array(
    'page_title' => 'Title goes here!',
));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony 从控制器设置块内容 的相关文章

随机推荐

  • 使用Core Data中的Cascade删除关系对象

    我希望使用核心数据执行一些简单的删除 但仅需要对此的一些建议 我有一个包含交易 名称 事件和日期实体的模型 该交易与其他每个实体都有链接 在应用程序中 当用户将信息添加到文本字段时 该信息会保存到 4 个选项卡的表格视图控制器中 第一个选项
  • 伽玛分布拟合误差

    对于分类任务 我想将伽玛分布拟合到两对数据 类内和类之间的距离人口 这是为了确定理论错误接受率和错误拒绝率 The fit Scipy returns puzzles me tough A plot of the data is below
  • 实现批量记录获取

    在程序开始时 我需要将数据从 MS Access 数据库 mdb 读取到下拉控件中 这样做是为了每当用户在该控件中键入内容时 应用程序都可以自动完成 不管怎样 从数据库中读取数据花了很长时间 所以我想我应该实现批量行获取 这是我的代码 CS
  • 有没有办法从 Symfony 应用程序中的 url 中删除 '/web' 而不将 'web' 目录的内容移动到根目录?

    我在使用 Symfony 创建应用程序时遇到一个问题 即 url 中出现 web 我找到了一种方法来摆脱这个问题 将 web 目录的内容移动到根目录 但我认为这不是一个好的开发实践 必须有其他方法 谁能告诉我是否还有其他方法可以做到这一点
  • C++ 类名注入

    根据标准 class 2 类名也被插入到类本身的范围中 这被称为注入类名 此外 basic scope pdecl 9 声明要点注入类名 第 9 条 紧跟在类定义的左大括号之后 最后 basic lookup classref 3 及其示例
  • 选择项目后如何完全折叠 SearchView?

    我已经为此苦苦挣扎了好几个星期 我有一个全局搜索 它提供了一个自定义列表视图 并在用户输入时提供建议 当用户选择一个选项时 我希望搜索视图返回到完全折叠的状态 相反 它会缩小 但仍保持稍微扩大的视图 我已经把我能找到的所有东西都扔到了这件事
  • 使用自动布局,如何使同一“行”上的两个标签的宽度是动态的(根据每个标签需要的宽度进行调整)?

    假设我有两个 UILabel 一个是 URL 一个是计时器 http website com link to specific story 9m 42s 但是 计时器 UILabel 的宽度变化很大 有时只是12s例如 其他时候是125h
  • 如何更新 StatusBar 样式作为自定义转换的一部分

    我使用的是 iOS 7UIviewControllerAnimatedTransitioning呈现模式的协议ViewController带有自定义动画 动画工作正常 但是我想要新呈现的ViewController具有与当前 VC 不同的状
  • 是否可以通过 DynamicProxy 将属性添加到类型?

    我使用 Castle DynamicProxy 在运行时创建给定类型的代理 包括几个 mixin 我试图弄清楚是否也可以向代理添加任意属性 例如 class BaseType string Foo get set 在运行时 我创建一个新类型
  • SQL SELECT 在父亲 ID 组织树中查找循环引用?

    带有循环引用的 乐趣 假设我有一个表 ELEMENTS 其中包含元素的层次结构 由父 ID 建模 对于根来说 父亲 ID 字段为空 所有其他记录都有一个非空父 id 和 自动排序的 主键 ID 的父元素 例如 使用 SELECT FROM
  • AngularJS ui.router 更改页面并转到特定部分

    我使用 AngularJSui router在我的应用程序中 对于新的用例 我想更改视图index html到我的partialview options html 我的options html有不同的部分 不同视图之间的路由工作正常 但我想
  • 在螺旋线上画等距点

    我需要一种算法来计算螺旋路径上的点的分布 该算法的输入参数应为 环路宽度 距最内环路的距离 点之间的距离固定 绘制点数 要绘制的螺旋是阿基米德螺线并且获得的积分必须是等距离来自彼此 该算法应该打印出单点的笛卡尔坐标序列 例如 点 1 0 0
  • 如何有效地将多个 pandas 列组合成一个类似数组的列?

    使用对象类型列之类的东西创建 或加载 DataFrame 很容易 如下所示 In pdf pd DataFrame a 1 2 3 b 4 5 6 c 7 8 9 combined 1 4 7 2 5 8 3 6 9 Out a b c c
  • 在 WSL2 中通过 IDE 连接到 kafka 服务器时出错

    我无法通过在 Windows 上运行的 intellij 或 vscode 连接到在 ubuntu 上运行的 kafka 服务器 我在 WSL2 上尝试的第一个服务器 我什至尝试使用虚拟机的IP 但没有成功 据我了解 我们应该能够根据此文档
  • 如何更改 Oracle 云实例的公钥?

    我不小心删除了我的公钥和私钥 并且由于无法恢复密钥 并且在任何地方都没有备份 而不得不生成新的 SSH 密钥 如何更改 Oracle Cloud 实例的公共 SSH 密钥 终止实例并重新创建它不是一个选择 我尝试在网上查找但找不到太多内容
  • 何时处置 CancellationTokenSource?

    班上CancellationTokenSource是一次性的 快速查看 Reflector 证明了KernelEvent 很可能 非托管资源 自从CancellationTokenSource没有终结器 如果我们不处理它 GC就不会这样做
  • 以编程方式创建标签[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是一名 iPhone 开发新手 我想以编程方式创建一个 UILabel 并且我想了解 UILabel 类的所有属性和功能 UILab
  • Cocoapods 彻底崩溃

    首先 我正在使用 Cocoapods 0 37 2 XCode 6 3 1 为 iOS 8 3 进行编译 在我运行基本的 pod update 之前 我的项目运行得很好 现在它完全拒绝编译 我非常肯定这与豆荚本身无关 具体来说 我收到的错误
  • Spring - 属性“name”不允许出现在元素“constructor-arg”中

    我在程序中使用 hsqldb 作为数据库 我想通过 spring 注入构造函数值 这是我的豆子
  • Symfony 从控制器设置块内容

    有没有办法在 Symfony 的控制器中设置模板块内容 有没有办法在控制器中执行类似的操作 this gt get templating gt setBlockContent page title page title 我需要动态设置页面标