2014-05-19 89 views
0

我是laravel和blade的新手。我是一名做一個簡單的'求職者'任務的學生。我有兩種不同類型的用戶 - 求職者(1類)和僱主(2類)。當我從layout.blade.php中的按鈕創建一個新用戶時,用戶將點擊一個註冊(類別1)鏈接或僱主按鈕(類別2),我想將類別傳遞給create.blade.php我可以根據它們的類別對它進行風格化,當然也可以將這些信息從實際的用戶中隱藏起來。@if聲明使用URL參數laravel blade

我不知道你想看到什麼樣的代碼,但我會用我的layout.blade.php開始 - 單擊鏈接或按鈕時,它重定向到create.blade.php和URL更新無論是第1類還是第2類 - 取決於點擊的內容。我想爲它創造被顯示,一個求職者或一個僱主增加一個@if語句(它們具有略微不同的選項)

layout.blade.php

<div class="col-sm-9"> 
@if (!Auth::check()) 
<div class="login-form"> 
{{ Form::open(array('action' => '[email protected]')); }} 
{{ Form::text('username', null, array('class' => 'input-small', 'placeholder' => 'Email')); }} 
{{ Form::password('password', array('class' => 'input-small', 'placeholder' => 'Password')); }} 
{{ Form::submit('Sign in', array('class' => 'btn btn-danger')); }} 
{{ Form::close(); }} 
{{ Form::open(array('action' => '[email protected]')); }} 
{{link_to_route('user.create', 'or Register here', ['category' => 1])}} 
</div> 
{{link_to_route('user.create', 'Employers', ['category' => 2], array('class' => 'btn btn-primary')) }} 
@endif 
@yield('content1') 

create.blade.php

@extends('job.layout') 
@section('content1') 
@if('category' == 2) 
<h1>New Employer page</h1> 
{{ Form::open(array('action' => '[email protected]')); }} 
{{ Form::text('username', null, array('class' => 'input-small', 'placeholder' => 'Email')); }} 
<p>{{ Form::password('password', array('class' => 'input-small', 'placeholder' => 'Password')); }} 
{{ Form::hidden('category', 2) }} 
{{ Form::label('name', 'Name:', array('class' => 'col-sm-3')) }} 
{{ Form::text('name') }} 
{{ Form::label('description', 'Company Description:', array('class' => 'col-sm-3')) }} 
{{ Form::text('description') }} 
{{ Form::label('industry', 'Industry', array('class' => 'col-sm-3')) }} 
{{ Form::text('industry') }} 
{{ Form::label('phone', 'Phone Number:', array('class' => 'col-sm-3')) }} 
{{ Form::text('phone') }} 
<p>{{ Form::submit('Sign in'); }} 
{{ Form::close(); }} 
@else 
<p>just a test for New User Page 
@endif 
@stop 

到目前爲止的創建頁面只會導致返回@else條件。即:提前

回答

0

我會盡量避免所有的代碼,因爲你是使它方式複雜得多,它是「只是一個測試新的用戶頁面」

感謝。

我會一步一步解釋。

提出兩個意見。一個是求職者,一個是僱主。

取決於類別,加載相應的視圖。這就是你想要的。

讓我們來代碼。

routes.php文件

Route::get('create/{category}', array(
        'as'  =>  'create', 
        'uses'  =>  '[email protected]' 
         )); 

UserController的

public function create($category) 
    { 
     if($category==1) 
      return View::make('seeker'); 
     elseif($category==2) 
      return View::make('employer'); 
     else 
      App::abort(400); 

    } 

就是這樣。無需觸摸佈局。儘可能避免將邏輯放在佈局中。從長遠來看,這將是一團糟。

+0

我打算做出2個單獨的視圖,因爲這樣做比試圖用1更有意義。我認爲我的任務只允許我創建1'創建'視圖。會按照你的方式去做,並看看我走了。謝謝 :-) – AngeKing