Symfony2: как присвоить значения перед вызовом $ this-> render ()?

0

myMethod() отображает шаблон с заданными параметрами по умолчанию. Я хотел бы присвоить некоторые значения, используемые в шаблоне twig, прежде чем вызывать логику, расширяя ParentController.

Я добавил строку псевдокода $this->assignValue('myKey', 'myValue'); , Кто-нибудь знает, есть ли метод, например assignValue() или как решить мою проблему?

Заранее спасибо!

class ParentController {
    protected function myMethod() {
        return $this->render('myTemplate.html.twig', array(
            'param1' => 'value1',
            'param2' => 'value2',
            'param3' => 'value3'
        ));
    }
}

class ChildController extends ParentController {
    // TODO: Assign some parameters BEFORE

    // Pseudocode:
    $this->assignValue('myKey', 'myValue');
    // /Pseudocode 

    return parent::myMethod();
}
Теги:
oop
twig
events

1 ответ

4
Лучший ответ

Вы можете просто переопределить render в вашем методе ChildController так или иначе:

function render($tpl, $parameters) {
   $parameters = array_merge($parameters, ['myKey' => 'myValue']/** or some other parameters*/);
   return parent::render($tpl, $parameters);
}
  • 0
    Конечно, это так просто. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню