2010-11-19 29 views
6

何らかの理由で、コントローラ(profileController)の変数を部分(video.phtml)に渡すための正しい構文を使用できません。コントローラからZendのパーシャルへの変数の受け渡し

私はあなたがこの

$this->view->somedata = "somedata"; 

のようなビューに変数を渡すと、あなたはどのようにあなたが部分のためにそうでしょう

< ?= $this->somedata ?> 

とビューでそれを引く知っていますか?

答えて

14

<?php echo $this->partial(scriptpath, [module], [data])?>の部分(おそらくビューからのもの)をレンダリングするときに、スクリプトが配置されているモジュールとその部分がアクセスできるデータを渡すこともできます。これがパーシャルが特定のデータを見ることのみを許可する理由です。

したがって、次のようなシナリオがあるとします。コントローラからビューに多くのデータをプッシュします。アプリケーションの複数の場所で再利用される特定の部分では、特定の種類のデータにしかアクセスできないようにし、レンダリングされるたびに一貫してデータの名前を付けたいとします。コントローラで

:ビューで

$this->view->namedVariableThatCouldBeWhatever = $data; 

:部分的に

echo $this->partial(
    $partialName, 
    array (
    'standardName' => $this->namedVariableThatCouldBeWhatever 
) 
); 

<?php foreach($this->standardName as $item) : ?> 
    //render partial 
<?php endforeach; ?> 
+0

おかげパトリックそのあとのような何かをするだろう!あなたは最高です ! – TuK

+0

ベスト?合意した – PurplePilot

+0

恐ろしい!あなたのロックパトリック。 –

関連する問題