【发布时间】:2013-04-12 02:30:37
【问题描述】:
我注意到如果我像这样将第二个参数传递给@include:
@include('sidebars.pages', array('categories' => Category::all()))
然后可以复制在视图中渲染部分的概念,并在部分中渲染部分,就像在 Rails 中一样。
我还需要具有此功能的视图作曲家吗?
感谢您的帮助!
【问题讨论】:
我注意到如果我像这样将第二个参数传递给@include:
@include('sidebars.pages', array('categories' => Category::all()))
然后可以复制在视图中渲染部分的概念,并在部分中渲染部分,就像在 Rails 中一样。
我还需要具有此功能的视图作曲家吗?
感谢您的帮助!
【问题讨论】:
尝试使用 View Composers 将数据绑定到视图。最适合局部视图
// View Composer Example
View::composer(array('sidebars.pages'), function($view)
{
$view->with('categories', Categories::all());
});
@include('sidebars.pages')
【讨论】:
Blog_model::recent($post->category->id, 5)
虽然这可能不是@include 的记录使用。这样做时我会谨慎行事,而且就个人而言,我不会在您的视图中调用模型。从路由或控制器绑定您需要的数据。使用演示者执行任何演示逻辑,以保持视图绝对干净。
@include 将所有当前定义的变量注入嵌套的局部视图。因此,如果您将所有类别绑定到父视图,然后使用@include('sidebars.pages'),那么该视图也会将类别绑定到它。
【讨论】: