duai8153 2018-07-14 15:35
浏览 33
已采纳

块无法连接到Symfony中的模板

I'm trying to learn Symfony 4 and it's templates. When I'm trying to connect blocks with templates like this:

// templates/base2.html.twig
<!DOCTYPE html>
<html>
    <body>
    <h2>test</h2>
        {% block blockoftext %}{% endblock %}
    </body>
</html>

(code of block)

// templates/mainpage/index.html.twig
{% extends 'base2.html.twig' %}

{% block blockoftext %}
<h1>And I say: {{ string }}</h1>
{% endblock %}

and then use it like this:

// src/Controller/mainpage.php
<?php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class mainpage extends AbstractController
{
      /**
      * @Route("/mainpage")
      */
    public function mainpage()
    {
        $text = 'Hello, world!';
        return $this->render('base2.html.twig', array(
            'string' => $text,
        ));
    }
}
?>

the output is

<!DOCTYPE html>
<html>
    <body>
    <h2>test</h2>

,so, block 'blockoftext' isn't connected. What should I do to get result like this:

<!DOCTYPE html>
<html>
    <body>
    <h2>test</h2>
    <h1>And I say: Hello, world!</h1>

?

  • 写回答

1条回答 默认 最新

  • duangan2307 2018-07-14 15:56
    关注

    In

    public function mainpage()
    {
        $text = 'Hello, world!';
        return $this->render('base2.html.twig', array(
            'string' => $text,
        ));
    }
    

    Change the return to be

    return $this->render('index.html.twig', array(
        'string' => $text,
    ));
    

    The index file is an extension of the base2. not the other way around. So index will includebase2, but base2 will not include anything from index

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效