2013-08-18 23 views
0

我有一个与其控制器一起呈现的视图。调用视图的函数在我的路由中链接。它直接访问路由时工作正常,但显然我的控制器不包括在我的模板中。Laravel:在包含视图中使用控制器

如何在包含我的视图时使用我的控制器?

我在Laravel 3.

现在,我有我的控制器:

public function get_current() 
{ 
// $sales = ... 
return View::make('sale.current')->with('sales',$sales); 
} 

我的路线(这OBV只对GET /电流下工作):

Route::get('current', '[email protected]'); 

我主视图

@include('sale.current') 

然后我的sale.current视图调用$销售

@foreach($sales as $sale) 

谢谢!

+0

你能提供一些代码吗?目前还不清楚你在问什么。 – treeface

+0

我做了,我希望现在更清楚:) – veksen

回答

0

你的问题仍然不清楚,但我可以试着帮助你。我根据你的要求做了一个小例子。我创建一个动作控制器的路线如下:

Route::get('test', '[email protected]'); 

TestController我定义操作test如下:

public function test() 
{ 
    return View::make('test.home')->with('data', array('hello', 'world', '!')); 
} 

根据你的要求了,你定义的视图谁包括从另一种观点认为内容(布局),并在该布局中使用为动作控制器传递的数据。我创建了意见如下:

// home.blade.php 
<h1>Message</h1> 
@include('test.test') 

// test.blade.php 
<?php print_r($data); ?> 

当我进入 “测试” 我可以看到print_r的输出。我不知道这是你在做什么,但在我的情况下工作正常。

我希望能帮到你。

+0

感谢您的回复,但我试图做相反的事情。把你的'测试'视图看作一个可以在任何地方的模块。 '测试'视图需要包含在任何页面上的可能性,但并不意味着它将包含在内。那么实现这个目标的最好方法是什么?将我的数据传递给我家中的每个请求都不太好,而且我已经为我的“测试”视图设置了特定的控制器。 – veksen

+0

也许定义一个包含公共数据的'section'可以帮助你。我认为嵌套视图与你想要达到的目标有关。 [Here](http://three.laravel.com/docs/views),你可以在Laravel 3中看到所有可能的观点和回应。 – Darwing

相关问题