如何设置URL以加载用户页面

时间:2014-12-03 18:39:49

标签: php laravel

在route.php中我有以下内容......

Route::get('/user/{username}', array(
    'as' => 'profile-user',
    'uses' => 'ProfileController@user'
));

在ProfileController中,我有以下内容......

class ProfileController extends BaseController {
    public function user($username) {
        $user = User::where('username', '=', $username);

        if($user->count()) { // if the corresponding user exists...
            $user = $user->first();

            return View::make('profile.user')
                    ->with('user', $user);
        }

        return App::abort(404);
    }
}

在navigation.blade.php中,我有以下内容......

<li><a href="{{ URL::route('profile-user') }}">User Profile</a></li>

我怎样才能使navigation.blade.php提供到用户个人资料的正确链接?目前链接在html中看起来如下......

http://website.dev/user/%7Busername%7D

我希望它看起来像这样:

http://website.dev/user/currentlyLoggedInUserName

3 个答案:

答案 0 :(得分:0)

您可以尝试使用HTML::link。例如:

{{ HTML::link('/user/<?=$user_name?>', 'User Profile')}}

答案 1 :(得分:0)

你应该使用

<li><a href="@{{ URL::route('profile-user') }}">User Profile</a></li>

因为它是一个必须先解析的Laravel PHP函数url(),结果会传递给Handlebars。

答案 2 :(得分:0)

这就是我解决它的方式。我会把这个答案留给其他人。

<li><a href="{{ URL::route('profile-user', Auth::user()->username) }}">User Profile</a></li>