php-ビューは、コントローラー(CodeIgniter)のメインビューからロードされたコンテンツを表示しません
2つのビュー(「main」と「home_view」)を作成しました。 「ホーム」と呼ばれるコントローラーを介して、メインビューを介してhome_viewをロードします。しかし、結果は私が「home_view」に書いたものではありません。以下は私のページです:
-
home_view:
<h1>Hello, from home_view </h1>
-
HomeControllerには次のコードが含まれています。
<?php class Home extends CI_Controller { public function index () { $data['main_view']="home_view"; $this->load->view('Layouts/main',$data); } } ?>
メインビュー。ビューフォルダに「レイアウト」というフォルダを作成し、そのフォルダに「メイン」ビューを作成しました。メインビューには次のコードが含まれています:
<!DOCTYPE html> <html lang="en"> <head> <meter charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="<?php echo base_url();?>assets/css/bootstrap.min.css"> <script src="<?php echo base_url();?>assets/js/jquery.js"></script> <script src="<?php echo base_url();?>assets/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <div class="col-xs-3"> </div> <div class="col-xs-9"> <?php $this->load->view($main_view); ?> </div> </div> </body> </html>
わからない0レビュー答え :
解決策:
事前にビューを読み込んで、最初に他のビューに渡すことを提案することは避けていましたが、何もうまくいかないようです。コントローラで次のようにします:
<?php // the "TRUE" argument tells it to return the content, rather than display it immediately $data['main_view'] = $this->load->view('home_view', NULL, TRUE); $this->load->view ('Layouts/main', $data); ?>
次に、メニューを表示するポイントで
<?= $main_view ?>
をビューに配置します。警告: この方法で(TRUEパラメーターを使用して)ビューを渡すと、すべてのビューコンテンツが文字列に変換されます。これはほとんどの場合機能しますが、大量のデータがある場合、または配列やJSONを渡す場合などです。処理する必要があります。
わからない0レビュー答え :
解決策:
出力が表示されず、バーが表示された理由は、タイプミスでした。 「メイン」ビューの見出しセクション:
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。