[Symfony 2] Héritage de templates

ViPHP
ViPHP | 928 Messages

16 avr. 2013, 16:18

Bonjour :)

J'ai un soucis avec l'héritage de templates dans Symfony 2. J'ai trois templates :
  • layout.html.php qui possède un block title
  • publication.html.php qui étend layout.html.php et surcharge le block title
  • publicationComment.html.php qui étend publication.html.php et qui surcharge lui aussi le block title
Or quand j'affiche mon template publicationComment.html.php, le block title contient la valeur du template publication.html.php, un peu comme si l'héritage s’arrêtait dès qu'un block est surchargé, sans prendre en compte les autres surcharges.

Voici cu code pour mieux comprendre :


layout.html.php
<?php $view['slots']->output('title') ?>

publication.html.php
<?php $view->extend('layout.html.php') ?>

<?php $view['slots']->start('title') ?>
   Hello World
<?php $view['slots']->stop() ?>

publicationComment.html.php
<?php $view->extend('publication.html.php') ?>

<?php $view['slots']->start('title') ?>
   Hello Justin Bieber
<?php $view['slots']->stop() ?>

Et donc le problème c'est que lors du rendu je vois "Hello World" alors que je voudrais voir "Hello Justin Bieber" (ce qui est logique au vu de l'héritage).

Merci d'avance pour l'aide :)

Petit nouveau ! | 1 Messages

10 avr. 2014, 15:19

Bonjour,

Je rencontre aussi ce problème.

Plus précisément, j'aimerai compléter le code du parent dans le fils.
Pour cela, j'ai essayé de récupérer le contenu du parent dans le fils, mais sans succès.
(en twig il est possible d'utiliser {{ parent () }} mais je ne trouve pas d'équivalent en php ! )

Avez-vous trouvé une solution à votre problème ?

Cordialement,