0

コントローラーからビューに配列データを渡そうとしていますが、ビューは「Yii フォーマット」(ヘッダー ブートストラップ) を失い、ヘッダーは表示されず、「プレーン テキスト」のみが表示されます。

これは、要素を で抽出しようとすると発生しarray_popます。

表示: magazines.php

<?php
/* @var $this SiteController */

$this->pageTitle=Yii::app()->name;
?>
<h3>
    <?php    
        $aux_string = "";   
        foreach ( $files_format as $aux_string ) {
            $aux_string->array_pop($files_format);
        }
    ?>
</h3>

コントローラー: SiteController.php

public function actionMagazines()
{
            $path="pdfs/";
            $directory=dir($path);
            $files=array();
            while (false !== ($entry = $directory->read()))
            {   
                 if($entry!="."&&$entry!=".."){
                    array_push($files, $entry);
                    print_r($files);
                 }
            }

            $this->render('magazines', array('files_format'=> $files));
}

別の方法では、array_pop を使用しない場合、「Yii 形式」はそのまま残ります (以下のコード行はarray_pop、ビューが正しく表示されるようにコメントされています)。

           ...
           //$aux_string->array_pop($files_format);
           ...
4

2 に答える 2

0

foreach本当に、ループ内の 1 つのコード行を変更することで、間違いは解決されます。

そのため、「ビュー」の問題は、スタックを手動で処理するためであることを理解しています。whileforeachは内部で自動モードにしています。

表示: magazines.php

<?php
/* @var $this SiteController */

$this->pageTitle=Yii::app()->name;
?>
<h3>
    <?php    
        $aux_string = "";   
        foreach ( $files_format as $aux_string ) {
            echo $aux_string."<br><br>";
        }
    ?>
</h3>
于 2013-10-03T09:06:26.547 に答える