Laravel灯箱显示视图/表格

时间:2015-01-22 23:09:44

标签: php html css twitter-bootstrap laravel

我已经充实了一个Laravel项目,但想要做一些不同的事情,我正在使用Bootstrap,因此弹出窗口的标准导航和模态。

我想在里面显示带有注册或登录表单的模式,但是你可以欣赏它当前构建的方式,一旦你点击登录或注册链接,它就会呈现页面视图。

所以我有我的观点/布局/ navigation.blade.php

<div class="container navigation">
    <nav class="navbar navbar-default navbar-top">
            <li class="navbar-right"><a href="{{ URL::route('home') }}">Home</a></li>
      <div class="container">
            @if(Auth::check())
                <li><a href="{{ URL::route('account-sign-out') }}">Sign out</a></li>
                <li><a href="{{ URL::route('account-change-password') }}">Change password</a></li>
            @else
                <li><a href="{{  URL::route('account-sign-in') }}">Login</a></li>
                <li><a href="{{  URL::route('account-create') }}"><button type="button" class="btn btn-default navbar-btn data-toggle="modal" data-target="#myModal"">Sign Up</button></a></li>
            @endif
      </div>
    </nav>
</div>

并且分开,我有我的观点/ account / create.blade.php&amp;视图/帐户/ signin.php

@extends('layout.main')

@section('content')

    <form action="{{ URL::route('account-create-post') }}" method="post">

        <div class="field">
            Email: <input type="text" name="email"{{ (Input::old('email')) ? ' value="' . e(Input::old('email')) . '"' : '' }}>
            @if($errors->has('email'))
                {{ $errors->first('email') }}
            @endif
        </div>

        <div class="field">
            Username: <input type="text" name="username"{{ (Input::old('email')) ? ' value="' . e(Input::old('username')) . '"' : '' }}>
            @if($errors->has('username'))
                {{ $errors->first('username') }}
            @endif          
        </div>      

        <div class="field">
            Password: <input type="password" name="password">
            @if($errors->has('password'))
                {{ $errors->first('password') }}
            @endif          
        </div>

        <div class="field">
            Password Again: <input type="password" name="password_again">
            @if($errors->has('password_again'))
                {{ $errors->first('password_again') }}
            @endif          
        </div>          

        <input type="submit" value="Create Account">
        {{ Form::token() }}
    </form>

@stop 

我真的想要导航中的按钮启动模态并在里面显示表单吗?艾米关于如何处理这个问题的想法?

2 个答案:

答案 0 :(得分:0)

我希望我的问题是正确的。实现您想要的目标的关键应该是一个名为嵌套视图的概念,这在this coderwall上有很好的解释。另外,请查看laravel docs on views(段落将子视图传递给视图)。

您必须为登录表单创建一个视图,将其嵌套在登录模式以及标准登录视图中(如果有的话)。希望这会有所帮助。

答案 1 :(得分:0)

您基本上将在客户端上使用Javascript来显示表单并将请求处理到服务器和服务器的响应。我会:

  1. 选择一个将为您显示模式表单的CSS / Javascript框架
  2. 将正常的表单生成放在显示的对话框中
  3. 在模式对话框的提交按钮上有一个Javascript处理程序,它将一个AJAX帖子发送到Laravel中一个新的RESTful HTTP端点,该端点调用标准注册表单使用的相同逻辑,但发回一个您的AJAX代码将理解的响应(例如成功或失败,并显示错误消息)。