2012-02-24 5 views
0

ビュー(.phtml)ファイルに1つのJavaスクリプト定義があります。このJavaスクリプトには、コントローラー名やアクション名などの動的パラメーターがあります。重複するコードを避けるために、このコードをヘルパーファイルに入れたいと思います。Zend View HelperでコアHTMLコードを使用できますか?はいの場合、そのヘルパーをどのように見えるのですか?

私はヘルパーファイルで純粋なhtmlとjavascriptコードを使用することができますか?はいの場合、ビューファイルでそのヘルパーをどのように呼び出すことができますか?

またはこれを行うには他の方法がありますか?

答えて

3

view helperこのインスタンスで解決策ではないでしょう...ありがとう。おそらく、partial(ビューヘルパー)を使用することになります。ビューヘルパーは、通常ビューにデータの一部として使用されるものです。 partial()またはpartialLoop()は、ビュー内の共通のhtml(複数のビューで再利用できるHTML部分)を表示するために使用されます。部分的なHTMLが含まれます(私はささいなことを確認JSが同様に動作しますよ)

ここで今

<?php 

class Zend_View_Helper_FormatDate extends Zend_View_Helper_Abstract 
{ 
    public function FormatDate($date) { 

     if ($date != NULL) { 
      $formatedDate = new DateTime($date); 
      $format = $formatedDate->format('M d, Y'); 

      return $format; 
     } else { 
      return ''; 
     } 
    } 

} 
//This is called in the view like any other function 
<?php echo $this->FormatDate($date) ?> 

:ここ

は、それが結果を返す気づく、単純なビューヘルパーの一例ですあなたのビュースクリプト内でこの部分

fieldset><legend>Dates and Qualifications</legend> 
    <table> 
     <tr> 
      <td>Birth Date: </td><td><?php echo $this->escape($this->FormatDate($this->bdate)) ?></td> 
     </tr> 
     <tr> 
      <td>Seniority Date: </td><td><?php echo $this->escape($this->FormatDate($this->sendate)) ?></td> 
     </tr> 
    </table> 
    <table> 
     <tr> 
      <td>I'm a Lead:</td><td><?php echo $this->escape(ucfirst($this->ToBool($this->lead))) ?></td> 
     </tr> 
     <tr> 
      <td>Lead Date:</td><td><?php echo $this->escape($this->FormatDate($this->ldate)) ?></td> 
     </tr> 
     <tr> 
      <td>I'm an Inspector:</td><td><?php echo $this->escape(ucfirst($this->toBool($this->inspector))) ?></td> 
     </tr> 
     <tr> 
      <td>Admin Login:</td><td><?php echo $this->escape(ucfirst($this->toBool($this->admin))) ?></td> 
     </tr> 
    </table> 
</fieldset> 

コールをビューヘルパーを使用している部分で、最初の引数は、部分 のパスは2番目の引数がありますこれは一般的な使用ではなく、部分的にデータを取得する唯一の方法である
$this->view->memberData = $memberDataいつものようにデータがコントローラのアクションから送信された

部分

<?php echo $this->partial('_dates.phtml', $this->memberData) ?> 
で使用されるデータ。部分的にはデフォルトの場所にある、この例では

/application/views/scripts

希望これは私がパーシャルを使用したことがない

+0

に役立ちます。私は、この部分ファイルをどこに置いてから、私のビューファイルでどこに呼び出すことができるのか教えてください。 –

+0

@RajanRawalがあなたのために答えを更新しました。 – RockyFord

+0

ちょっと@RockyFordあなたの答えを読んだ後、私は部分的にグーグルで見つけた、私は部分的またはレンダリングのいずれかを使用することができます。私の場合は何が合うのか教えてくれませんか?別の質問は、部分的なファイルを配置するためのview/scripts内のpartialという名前のフォルダを作成したことです。それは大丈夫でしょうか? –

関連する問題