2013-04-18 4 views
0

я заметил, если я прохожу второй параметр для @include как это:Laravel 4, вид композиторов против @include

@include('sidebars.pages', array('categories' => Category::all())) 

Затем можно повторить концепцию визуализации партиалы в рамках представлений и визуализации партиалы в пределах парциального как в Rails.

Должен ли я по-прежнему просматривать композиторы с этой функциональностью?

Я ценю любую помощь!

ответ

0

Хотя это возможно, это не документированное использование @include. Я бы проявлял осторожность, когда делал это так, и лично, я бы не стал называть модель в вашем представлении. Привяжите данные, требуемые от вашего маршрута или контроллера. Используйте презентацию для выполнения любой логики представления, чтобы ваши взгляды были абсолютно чистыми.

@include вводит все текущие переменные во вложенное частичное представление. Поэтому, если вы привязали все категории к родительскому представлению, затем использовали @include('sidebars.pages'), этот вид также имел бы привязанные к нему категории.

+0

Хорошо, мистер Льюис, я буду играть с докладчиками и попробовать. – user2094178

1

Попробуйте просмотреть композиторы для привязки данных к просмотрам. Лучше всего подходит для частичных просмотров

// View Composer Example 
View::composer(array('sidebars.pages'), function($view) 
{ 
    $view->with('categories', Categories::all()); 

}); 

@include('sidebars.pages') 
+0

Привет, где будут жить композиторы? Может ли он быть в файле composers.php внутри корня приложения? Я не понимаю, нужно ли им жить в контроллере, поскольку они должны быть доступны где угодно. – user2094178

+0

Вы можете создать папку для хранения ваших композиторов представления и включить ее start/global.php или просто включить ее в файл app/routes.php. – mogetutu

+0

Хорошо, господин мойтетуту, я ценю ваш ответ и комментарий. Пожалуйста, не могли бы вы рассказать мне, что произойдет, если мне нужно передать параметры методу класса внутри композитора представления? Например, 'Blog_model :: recent ($ post-> category-> id, 5)' – user2094178

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