Почему я получаю ошибки, когда помещаю свои представления в подпапку в CI 2.0+? - PullRequest
0 голосов
/ 14 июля 2011

Я делаю простое приложение и знаком с CodeIgniter 1.7.3, с которым у меня не возникло никаких проблем при помещении подпапок в папку application / views.

Моя проблема, в частности, когда я пытаюсь загрузить представление, я получаю стандартное сообщение об ошибке CI "Обнаружена ошибка: невозможно загрузить требуемый файл": usercontentpages / testview.php

Однако, если я переместу файл представления из подпапки и поместу его в папку application / views, команда load view работает нормально?

Я не могу найти какую-либо документацию в руководстве пользователя, почему это так?

Вот мой контроллер:

    <?php
class Pages extends CI_Controller
{

//Controller Constructor
    public function __construct()
    {
        parent::__construct();
    }

    //Home Page (Default)
    public function index()
    {       
         //Loading a Partial View
         $mContent = $this->load->view('home', '', TRUE); //this works
        //$mContent = $this->load->view('subfolder/home', '', TRUE); //this doesn't work

         $data = array(
             'mainContent' => $mContent,
         );
         //Passing the partial view to the master page
         $this->load->view('usermasterpage', $data);
    }
}
?>

Вот моя мастер-страница:

<?php
//Doctype
echo doctype('html');
?>
<html>
<head>
    <meta charset="utf-8">

</head>
<body onload="OnLoad()">
    <div id="wrap">

        <!-- Main Content Div -->
        <div id="mainContent">
        <?php 
            /* Every page will have a main content area */
            if(isset($mainContent))
            {
                echo $mainContent;
            }
        ?>
        </div>
    </div>
</body>

И, наконец, вот фрагмент страницы, который я пытаюсь загрузить:

<p>Hi there</p>

Ответы [ 2 ]

1 голос
/ 14 июля 2011

В документации CodeIgniter точно сказано, что вы можете .

Ваши файлы просмотра также могут храниться в подпапках, если вы предпочитаете такой тип организации. При этом вам нужно будет включить имя папки, загружающей представление. Пример:

$this->load->view('folder_name/file_name');

http://codeigniter.com/user_guide/general/views.html

1 голос
/ 14 июля 2011

CodeIgniter будет успешно использовать вложенные представления: я все время использую вложенные представления и знаю других, которые делают то же самое, и это работает из коробки.Покажите какой-нибудь код, чтобы мы могли видеть, что вы делаете неправильно.

...