2016-06-09 110 views
4

我在網站上有一個webcal資源的路由,因此我們希望在刀片模板中使用{{ URL::route('calendar') }}時生成的URL爲webcal://在Laravel路由上設置協議

我試着添加一個協議選項,但是這個被忽略了,所以我猜一定有另外一種方法嗎?

Route::get('/calendar.ics', 
    [ 
     'as' => 'calendar', 
     'uses' => '[email protected]', 
     'protocol' => 'webcal' 
    ] 
); 

建議歡迎!

+0

你確定'protocol'是一個可接受的數組鍵嗎? – haakym

+0

@haakym似乎沒有任何影響 - 沒有錯誤,但協議仍然是http。我只是猜測這個參數看起來合乎邏輯,但找不到任何文檔來支持它。 – Ben

+0

嘗試爲自己的方法擴展刀片:https://laravel.com/docs/master/blade#extending-blade。看看當前的'route()'helper是如何工作的:https://github.com/laravel/framework/blob/5.2/src/Illuminate/Foundation/helpers.php#L605然後你可以創建一個'webCalRoute( )'方法也許? – haakym

回答

0

webcal URI不是官方協議。 webcal://實際上將被移交給另一個應用程序,如http://

如上所述,您可以爲自己的幫手做這件事,或者在視圖中寫下純粹的實際URI。

您也可以使用Content-Type: text/calendar標題,但我想它不會在另一個應用程序中打開。