2010-07-08 3 views
11

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

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

Привет и спасибо заранее

ответ

12

просмотров Мастер не выстроены в рамки. Чтобы получить аналогичный эффект, вы можете загрузить 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 в каталогах в корне моего проекта.

+0

это было именно то, что я искал, большое спасибо :) – GerManson

0

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

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

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

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

+0

прямо сейчас я получаю функциональность, играющую с представлениями, но я хотел знать, есть ли что-то, что действительно решает проблему более умным и простым способом. – GerManson

+0

Признаюсь, я не знаю, что в первую очередь о MasterPages, и мне пришлось искать их. Из того, что я прочитал, кажется, что каждая страница контента должна ссылаться на свою MasterPage, которая не кажется слишком отличной от загрузки основного представления в каждом «контенте». Поправьте меня если я ошибаюсь. – TNi

+0

http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx – GerManson

2

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

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

+0

спасибо за ссылку, я очень ценю это – GerManson

Смежные вопросы