2014-06-13 2 views
0

이것은 내 첫 번째 SymfonyCMF 응용 프로그램입니다. 제발 저를 참아주세요. 나는 근본적으로 몇 가지 개념을 오해 할 수도 있습니다.액션 블록 템플릿의 정의되지 않은 변수

나는 행동이 FooCmsBundle:Psa:embedPsa 인 ActionBlock (/cms/content/most-recent-psa)이 있습니다.

내 삽입 기능은 다음과 같습니다 : {{ sonata_block_render({"name": "/cms/content/most-recent-psa"}) }}

나는 페이지 템플릿, 나는이 예외 얻을 포함 할 때 :

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); 
    } 
} 

내가이있는 나뭇 가지 템플릿을 포함 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>.

그래서 모든 것이 올바르게 수행되고있는 것처럼 보입니다. 나는 $ psa가 embedPsaAction 함수에서 반환 될 때 유효한 값이라는 것을 확인했으며 템플릿을 정확하게로드해야하지만 변수가 노출되지 않는 것처럼 보입니다.

+2

을하지만 당신은 템플릿에 전달하는 변수입니다 :보기에

array("variableNameForTwig1" => $variableController1, "variableNameForTwig2" => $variableController2) 

그 다음을, 당신은 할 수 있습니다 * 페이지 *** 및 아닙니다 * psa * –

답변

1

"psa"라는 변수를 사용하려면이 정확한 이름을 컨트롤러에 지정해야합니다. 여기서 나뭇 가지 페이지에 대한 "페이지"변수가 있습니다. 그리고 나뭇 가지의 페이지 변수는 컨트롤러의 $ psa와 같습니다. 컨트롤러에서

, 당신이해야 할 : **

{{variableNameFortwig1.attribute}} 
{{variableNameFortwig2.attribute}} 
+0

영주. 지난 밤에 이걸로 싸우는 데 두 시간을 보냈는데 내 자신의 코드를 읽을 수 없게되었습니다. 감사합니다. – monksp

+0

새로운 것들을 시도 할 때 그것은 자주 저에게 일어납니다. 가장 뻔한 것이 빠져있는 많은 익숙하지 않은 것들 :-) – dbu