Есть ли что-то вроде MasterPages в CodeIgniter Framework?

Я новичок в Code Igniter, и я хочу знать, есть ли что-то, что работает, как MasterPages на .NET.

Также мне было интересно, где я должен хранить свои общедоступные файлы, такие как скрипты, стили и изображения.

Приветствую вас и благодарю вас в Advance

Ответ 1

Мастер-представления не встроены в структуру. Чтобы получить аналогичный эффект, вы можете загрузить subview и передать это на главный вид.

Контроллер:

class Items extends Controller
{
    function show($id)
    {
        $item = $this->item_model->get_item($id);

        // Load the subview
        $content = $this->load->view('item/show', array('item' => $item), true);

        // Pass to the master view
        $this->load->view('master_view', array('content' => $content));
    }
}

Главный вид:

<div id="header">
</div>
<div id="content">
    <?php echo $content; ?>
</div>
<div id="footer">
</div>

Чтобы ответить на другой вопрос, я сохраняю все скрипты Javascript и CSS в каталогах в корне моего проекта.

Ответ 2

Я не уверен, что у них есть что-то вроде главной страницы. CodeIgniter больше похожа на структуру MVC и использует представления и элементы управления для создания страниц. Если вы новичок в CodeIgniter, net.TutsPlus имеет серию видеороликов в которой глубже описывается, как использовать фреймворк для разные сценарии. Посмотрите раздел под названием "Catch Up" , чтобы просмотреть список видеороликов.

Надеюсь, это поможет вам и удачи в вашем проекте.

Ответ 4

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

Фактически, представления могут гибко быть встроены в другие представления (в пределах других представлений и т.д. и т.д.), если вам нужен этот тип иерархии.

Это похоже на то, что предоставляет MasterPage. И фактически, большинство фреймворков PHP и систем шаблонов предоставляют те же функции.

В ответ на ваш второй вопрос вы можете захотеть сохранить ваши сценарии, стили и изображения в отдельных папках за пределами веб-корня. Я считаю, что URL-адреса относятся к index.php, поэтому хранение ваших ресурсов рядом с ними упростит их просмотр в ваших представлениях. Другой вариант - взглянуть на Asset Helper.