2014-12-27 24 views
0

myMethod()呈現一個模板,其中分配了一些默認參數。我想通過擴展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(); 
} 

回答

4

你只需重新定義render在ChildController方法莫名其妙地想:

function render($tpl, $parameters) { 
    $parameters = array_merge($parameters, ['myKey' => 'myValue']/** or some other parameters*/); 
    return parent::render($tpl, $parameters); 
} 
+0

當然,就這麼簡單。謝謝。 – 2014-12-28 21:06:17

相關問題