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()
してルート名を確認することもできます。
例:routes.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」はroutes.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' : ''}}
Laravel 5.4
グローバル機能
@if (request()->is('/'))
<p>Is homepage</p>
@endif
request()->routeIs('...')
ブートストラップ付きの単純なナビゲーションバーは、次のように実行できます。
<li class="{{ Request::is('user/profile')? 'active': '' }}">
<a href="{{ url('user/profile') }}">Profile </a>
</li>
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をパスを使用してLaravelに書き込む別の方法
<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
これを試して:
<li class="{{ Request::is('Dashboard') ? 'active' : '' }}">
<a href="{{ url('/Dashboard') }}">
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
</a>
</li>
ブレードファイル
@if (Request::is('companies'))
Companies name
@endif
この方法を試してください:
<a href="{{ URL::to('/registration') }}">registration </a>