[英]Undefined variable in actionblock template
這是我的第一個SymfonyCMF應用程序,所以請耐心等待,我可能會從根本上誤解一些概念。
我有一個ActionBlock( /cms/content/most-recent-psa
),具有FooCmsBundle:Psa:embedPsa
。
我的嵌入函數如下所示:
class PsaController extends Controller {
/**
* @Template()
*/
public function embedPsaAction() {
//... figure out which PSA needs to be displayed and set it to $psa
return array('page' => $psa);
}
}
我使用以下代碼將其嵌入到Twig模板中: {{ sonata_block_render({"name": "/cms/content/most-recent-psa"}) }}
當我將該模板嵌入到頁面上時,出現此異常: Variable "psa" does not exist in /var/www/peacefund-cms/src/Foo/CmsBundle/Resources/views/Psa/embedPsa.html.twig at line 6
,這只是一個簡單的輸出: <h2>{{ psa.title | raw }}</h2>
<h2>{{ psa.title | raw }}</h2>
。
因此,看起來一切正常。 我已經確保$ psa從embedPsaAction
函數返回時是一個有效值,並且看起來它完全按原樣加載了模板,但是未公開該變量。
如果要使用名為“ psa”的變量,則必須在控制器中提供此確切名稱。 在這里,您的樹枝頁面具有“ page”變量。 而樹枝的page變量等於控制器的$ psa。
在您的控制器中,您必須這樣做:
array("variableNameForTwig1" => $variableController1, "variableNameForTwig2" => $variableController2 )
然后,您可以執行以下操作:
{{variableNameFortwig1.attribute}}
{{variableNameFortwig2.attribute}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.