2016-05-10 9 views
5

ウェブアプリケーションでローカライズ機能を使用しています。しかしApp::getLocale()url()に追加したいと思います。たとえば、私の意見では、<a href="{{url('/admin')}}">link</a>を追加すると、HTMLでURLをhttp://localhost/mysite/en/adminと表示したいと考えています。どうしたらいいですか?Laravel 5.2-既存のurl()ヘルパー関数にプレフィックスを追加する方法は?

組み込みのURLヘルパー機能をカスタマイズできますか?

+1

私は今、同じ問題を抱えています。これをどのように解決したか教えてください。 – Tim

+1

@Tim、解決策が見つかりました。私の答えをチェックしてください。 – Someone

答えて

0

enter image description hereのようなURLを与える必要があり、私は解決策を見つけました。それをラヴェルで試しました5.3。出来た!他の人には役に立ちます。 だから、株式価値がある:

vendor\laravel\framework\src\Illuminate\Foundation\helpers.phpを入力して、そのようなコードを変更します。

ただ単に形式次

{{ url('Your_Prefix', 'login') }} 

URLを使用し、Laravel 5.4でyour prefix$path前に変数

+2

ベンダフォルダ内のクラスを編集しないでください。このフォルダは、コンポーザによって完全に管理されています。 'composer update'を実行すると、その中の変更はすべて消去されます。 –

+0

アレクサンドルはそうです、**はしません**。ベンダーフォルダー内のものは絶対に編集しないでください。スクリーンショットからわかるように、関数 'url()'はまだ定義されていない場合にのみ定義されます。プロジェクトフォルダにあるヘルパーファイルの中に独自の 'url()'関数を定義し、それを 'composer.lock'の' autoload'セクションに置くことができます。 – Reddalo

1

url()メソッドでは、最初の引数として指定した正確な値のURLが生成されるため、これを許可しません。ただし、route()メソッドに切り替えて、ルートのプレフィックスを定義した場合に必要なものを達成することは可能です。

// define a route group with a prefix in routes.php 
Route::group(['prefix' => App::getLocale()], function() { 
    Route::get('admin', ['as' => 'admin', 'uses' => '[email protected]']); 
}); 

// generate prefixed URL 
echo route('admin'); 

ロケールがエンであれば、上記の行はあなたに/EN /管理

1

を追加要求されたアドレスへのパス全体を、あなたが望むものに追加することができます。

関連する問題