2016-06-09 105 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标题,但我想它不会在另一个应用程序中打开。