Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony2/细枝:拆分父定义_Symfony_Import_Include_Twig - Fatal编程技术网

Symfony2/细枝:拆分父定义

Symfony2/细枝:拆分父定义,symfony,import,include,twig,Symfony,Import,Include,Twig,我有一个父细枝文件,它在我的网站的每个页面上扩展 问题是: 过了一会儿,父母总是太重了,我需要把它分开 分成几个部分(页眉、页脚、等等) 我不能使用“include”,因为所有的块定义都将 消失, 我不能使用“use”,因为它不是为此而设计的,我需要重新声明所有块定义=>对于原始目标来说太重了 我不能使用“宏”或“导入”,因为它不是宏。它只是父文件的一部分 我看到了“embed”标记,但它不起作用,我想,我不想定义微继承 我只想简单地检索块定义…一个简单的“require'header.ht

我有一个父细枝文件,它在我的网站的每个页面上扩展

问题是

  • 过了一会儿,父母总是太重了,我需要把它分开 分成几个部分(页眉、页脚、等等)
  • 我不能使用“include”,因为所有的块定义都将 消失,
  • 我不能使用“use”,因为它不是为此而设计的,我需要重新声明所有块定义=>对于原始目标来说太重了
  • 我不能使用“宏”或“导入”,因为它不是宏。它只是父文件的一部分
  • 我看到了“embed”标记,但它不起作用,我想,我不想定义微继承
我只想简单地检索块定义…一个简单的“require'header.html.twig'”及其块定义


这是一件非常重要的事情,谢谢你的帮助

我在这里跟不上你。。。无法使用“包含”,因为块定义将消失。。。请解释:)正如您在“include语句包含一个模板并返回该文件的呈现内容”中所看到的。这意味着不会检索包含文件中的所有块,而是进行渲染。Include为您提供纯html,而不是twig。您正在寻找模板层次结构树吗?试着解释一下你想做什么。。。是否要以未处理的形式接收细枝模板?哪里在你的控制器里?从数据库?不是树。示例:页眉的模板。通常,它有一个横幅、一个菜单和一个搜索工具栏(这是一个示例,但我的情况几乎相同)。我想要的不是只有一个文件(header.html.twig),而是:header\u banner.html.twig、header\u menu.html.twig和header\u search.html.twig,它们在header.html.twig中被调用。此外,我希望保留块定义并保持其简单,就像PHP中的require_once()方法一样。这只是模块化。你说的保留块定义是什么意思?它们是如何消失的?我听不懂。您可以使用
include
render
解决此问题。