2013-08-18 48 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

相關問題