1

ビューファイルをプラグインしたい機能があります。1 つまたは 2 つのことだけが必要な場合は非常に単純ですechoが、複雑な html があるため、次の foreach ループと if ステートメントに別の php 構文を利用したいと考えています。

更新CI->load->viewtpaksu の提案に従って、3 番目のパラメーターを含めるように修正しました。作業に近づいていますが、まだ完全ではありません。コード内の以下のコメントを参照してください。

<?
  function displayComments(array $comments, $parentId = null) {
  $CI=& get_instance();     
  foreach($comments as $comment){
        if($comment['replied_to_id'] == $parentId){

     echo $CI->load->view('reviews/comment_list', $comments, true); // this doesn't work, it only shows the last array member
              // echo $comment['comment']; this works as expected
    }
   }
  }  
displayComments($comments, $parentId = null);        
?>

'reviews/comment list ビュー ファイルは、最も単純な形式で次のようになります。

<ul> 
 <? foreach($comments as $comment): $comment=$comment['comment']?>
  <li>
      <?echo $comment?>
 </li> 
 <?endforeach;>
</ul>

ビューファイルを関数に埋め込む方法を知っている人はいますか?

4

2 に答える 2

1

最初のファイルの内容:

<?php
    $CI=& get_instance();     
    echo $CI->load->view('reviews/comment_list', $comments, true);
?>

そしてreviews/comment_listビュー:

<ul> 
    <?php
    foreach($comments as $comment){
       $comment=$comment['comment'];
       echo "<li>" . $comment . "</li>";
    }
    ?>
</ul>

これを書いて、もう一度やり直してください。

于 2012-04-30T05:34:53.327 に答える
1

私は通常、自分のプロジェクトでsnippet_helperを使用しています。そこには、再利用可能なもののチャンク(モジュールまたはコンポーネントとも呼ばれます)を生成する多くの関数があります。

また、メイン関数でデータを返すために使用する WordPress アプローチ (表示前にさらに処理が必要になる場合があります) とecho、結果を直接返すための「姉妹関数」も気に入っています。

うまくいくと思います。例えば:

function get_display_comments(array $comments, $parentId = NULL)
{
    $CI     =& get_instance();
    $return = '';

    foreach ($comments AS $comment)
    {
        if ($comment['replied_to_id'] == $parentId)
        {
            $return .= $CI->load->view('reviews/comment_list', $comments, TRUE);
        }
    }

    return $return;
}

function display_comments(array $comments, $parentId = NULL)
{
    echo get_display_comments($comments, $parentId);
}
于 2012-05-01T13:26:38.427 に答える