Laravel 4를 @if
사용하고 있습니다. Laravel의 블레이드 템플릿 엔진을 사용하여보기 의 조건 내에서 현재 URL에 액세스 하고 싶지만 어떻게해야하는지 모르겠습니다.
나는 그것이 비슷한 것을 사용하여 수행 할 수 있다는 것을 알고 <?php echo URL::current(); ?>
있지만 @if
블레이드 진술 에서는 불가능 합니다.
어떤 제안?
Laravel 4를 @if
사용하고 있습니다. Laravel의 블레이드 템플릿 엔진을 사용하여보기 의 조건 내에서 현재 URL에 액세스 하고 싶지만 어떻게해야하는지 모르겠습니다.
나는 그것이 비슷한 것을 사용하여 수행 할 수 있다는 것을 알고 <?php echo URL::current(); ?>
있지만 @if
블레이드 진술 에서는 불가능 합니다.
어떤 제안?
답변:
다음 Request::url()
을 사용하여 현재 URL을 얻을 수 있습니다. 예는 다음과 같습니다.
@if(Request::url() === 'your url here')
// code
@endif
Laravel은 URL이 패턴과 일치하는지 여부를 확인하는 방법을 제공합니다
if (Request::is('admin/*'))
{
// code
}
다른 요청 정보를 얻으려면 관련 문서를 확인하십시오. http://laravel.com/docs/requests#request-information
@if(Request::url()!=='/') <div class="bannerImage">{{ HTML::image('images/fullimage3.jpg') }}</div> @endif
Route::current()->getName()
경로 이름을 확인 하는 데 사용할 수도 있습니다 .
예 : route.php
Route::get('test', ['as'=>'testing', function() {
return View::make('test');
}]);
전망:
@if(Route::current()->getName() == 'testing')
Hello This is testing
@endif
Route::is('testing')
와 동일합니다 Route::current()->getName() == 'testing'
.
Route::is('testing')
->> 테스트가 작동하지 않습니다 Route::is('test')
->> 테스트 Route::current()->getName() == 'testing'
가명과 URL이 다릅니다
Route::is()
경로가 아닌 경로 이름을 확인합니다.
Route::currentRouteName()
나는 이렇게 할 것입니다 :
@if (Request::path() == '/view')
// code
@endif
여기서 '/ view'는 route.php의 뷰 이름입니다.
=='public'
== '/')
Request::url()
-당신이 완전한 URL을 얻는 것보다
얻으려면 current url
에서 blade
당신은 다음을 사용할 수 있습니다보기,
<a href="{{url()->current()}}">Current Url</a>
다음 코드를 사용하여 비교할 수 있으므로
@if (url()->current() == 'you url')
//stuff you want to perform
@endif
request()->getQueryString()
매우 유용 url()->current()
합니다.
이것은 Laravel 5.2의 부트 스트랩 활성 탐색 클래스에 도움이됩니다 .
<li class="{{ Request::path() == '/' ? 'active' : '' }}"><a href="/">Home</a></li>
<li class="{{ Request::path() == 'about' ? 'active' : '' }}"><a href="/about">About</a></li>
조금 오래되었지만 이것은 L5에서 작동합니다.
<li class="{{ Request::is('mycategory/', '*') ? 'active' : ''}}">
이것은 / mycategory 및 / mycategory / slug를 모두 캡처합니다.
{{ Request::is('clientes/*') ? 'active' : ''}}
라 라벨 5.4
글로벌 기능
@if (request()->is('/'))
<p>Is homepage</p>
@endif
request()->routeIs('...')
Laravel 프로젝트에서 라이브러리 <li>
를 사용해야 할 HTMLBuilder
때마다이 코드가 자동으로 적용되도록 설정하십시오
<script type="text/javascript">
$(document).ready(function(){
$('.list-group a[href="https://stackoverflow.com/{{Request::path()}}"]').addClass('active');
});
</script>
이 코드를 사용하여 현재 URL을 얻을 수 있습니다.
echo url()->current();
echo url()->full();
나는 Laravel 문서에서 이것을 얻습니다.
경로를 사용하여 라 라벨에서 if와 else를 쓰는 또 다른 방법
<p class="@if(Request::is('path/anotherPath/*')) className @else anotherClassName @endif" >
</p>
그것이 도움이되기를 바랍니다.
명명 된 경로의 경우 다음을 사용합니다.
@if(url()->current() == route('routeName')) class="current" @endif
class="nav-link {{ \Route::current()->getName() == 'panel' ? 'active' : ''}}"
@if(request()->path()=='/path/another_path/*')
@endif
이 시도:
@if(collect(explode('/',\Illuminate\Http\Request::capture()->url()))->last() === 'yourURL')
<li class="pull-right"><a class="intermitente"><i class="glyphicon glyphicon-alert"></i></a></li>
@endif
달성하는 방법은 여러 가지가 있습니다.
Request::url()
이 방법으로 시도하십시오 :
<a href="{{ URL::to('/registration') }}">registration </a>