2016-06-09 4 views
4

У меня есть маршрут на сайте, который предназначен для веб-ресурса, поэтому мы хотим, чтобы URL-адрес был сгенерирован с помощью webcal:// при использовании {{ URL::route('calendar') }} в шаблоне Blade.Установить протокол на маршруте 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()': https://github.com/laravel/framework/blob/5.2/src/Illuminate/Foundation/helpers.php#L605, тогда вы можете создать 'webCalRoute () 'метод возможно? – haakym

ответ

0

URI не являются официальными протоколами. webcal:// фактически будет передан другому приложению как http://.

Как и было предложено, вы можете сделать свой собственный помощник для этого или написать обычный фактический URI в своих представлениях.

Вы также можете использовать заголовок Content-Type: text/calendar, но я предполагаю, что он не будет открыт в другом приложении.

Смежные вопросы