2011-06-28 17 views
0

私はzendには新しく、いくつかの項目では苦労しています。 ヘルパーを使ってみましたが、それが私がしたいことをしていないことを認識しました... 私は$ this-> placeHolderを使っていますか、間違っているか、それともやりたいことをしませんZendビューのデータ集約

私は次の操作を実行したい:

私は基本的に2つの方法addScriptContent、およびgetScriptContentを持つカスタムクラスを作成したい...

addScriptContentは、その文字列に、それに渡され、これまでどのような追加されますそのページのためのグローバルです。 getScriptContentがちょうど

this->addScriptContent('var x="foo";') 
....some html 
this->addScriptContent('var y="feee";') 
    ....some html 
echo this->getScriptContent() //writes out var x="foo"; var y="fee"; 
+0

あなたの質問は何ですか? –

答えて

0

すなわちプレースホルダヘルパーをaddScriptContent

を使用して追加されたどんなデータ出力はあなたが後にしている正確に何んでしょう:ヘルパーのキーの方法がsetある

<?php $this->placeholder('scriptContent')->set('var x="foo";') ?> 
....some html 
<?php $this->placeholder('scriptContent')->append('var y="feee";') ?> 
....some html 
<?php echo $this->placeholder('scriptContent')?> 

appendおよびprepend;これは、それぞれコンテンツの上書き、追加、追加を行います。

これについて独自のヘルパーを実際に作成したい場合は、それほど難しくありません。例えばheadTitleまたはheadScriptヘルパーを見てみましょう、しかし、の線に沿って何かのようになります。

class My_View_Helper_ScriptContent extends Zend_View_Helper_Placeholder_Container_Standalone 
{ 
    public function scriptContent($script) 
    { 
     $this->append($script); 
    } 
} 

使い方は次のようになります。

<?php $this->scriptContent('var x="foo";') ? 
....some html 
<?php $this->scriptContent('var y="feeee";') ?> 
....some html 
<?php echo $this->scriptContent() ?>