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>
?