Как ограничить глубину ответа комментариями в laravel - PullRequest
1 голос
/ 21 апреля 2019

Я могу создать неограниченный ответ на комментарий рекурсивно.Это может быть ужасно, потому что мой веб выглядит ужасно.

Я хочу, чтобы пользователь просто мог ответить на комментарий максимум на 3 глубины комментариев, поэтому, если глубина больше, чем максимальная глубина, комментарий не создаст вложение снова.

Вот мой код, который яможете попробовать до сих пор, в blog.detail.php показать комментарий

@include('nested.replies', ['comments' => $post->comments, 'post_id' => $parameter, 'depth' => 0])

и в replies.php

@foreach($comments->sortByDesc('created_at') as $comment)

<?php
$parameter = Hashids::connection()->encode($post->id);
$parameter2 = Hashids::connection()->encode($comment->id);
?>

<ol class="comments-list display-comment">
    <li>
        <div class="comment-box clearfix" >

            <div class="avatar"><img alt="" src="{{ asset('frontboard/images/avatar.png') }}" /></div>
            <div class="comment-content" id="reply?{{ $parameter2 }}">
                <div class="comment-meta">
                    <span class="comment-by">{{ $comment->user->name }}</span>
                    <span class="comment-date">{{ $comment->date }}</span>
                </div>
                <span class="reply-link" stle="padding-top:-220px;">
                    <p>{{ $comment->body }}</p>

                    @if(Auth::guard('member')->check() && Auth::guard('member')->user()->active == 1)
                        @if(Auth::guard('member')->user()->isBan == 1)
                        <span class="reply-link">
                            Blocked
                        @else
                            {!! Form::open(['method' => 'DELETE','route' => ['comment.destroy', $comment->id]]) !!}
                            {!! Form::submit('delete', ['onclick' => 'return confirm("Are you sure?");','class' => 'btn btn-danger btn-xs pull-right'])!!}
                            {!! Form::close() !!}

                            <a href="#" class="replyform">Reply</a>
                            {!! Form::open([
                                'route' => ['reply.add', $post->slug],
                                'class' => 'showActionComment',
                                'data-parsley-validate'])
                            !!}

                            @csrf
                            <div class="form-group {{ $errors->has('comment_body') ? 'has-error': '' }}">
                                {!! Form::textarea('comment_body', null, [
                                    'name'        => 'comment_body',
                                    'class'       => 'form-control',
                                    'placeholder' => 'Write Something.. ',
                                    'required', 'minlength="4"'])
                                !!}
                                @if($errors->has('comment_body'))
                                    <span class="help-block">{{$errors->first('comment_body')}}</span>
                                @endif

                                {!! Form::hidden('post_id', $parameter) !!}
                                {!! Form::hidden('comment_id', $parameter2) !!}


                            </div>
                            <div class="form-group">
                                <input type="submit" id="postBtn" value="Add Comment" />
                                <input type="button"  class="btn1 btn-warning" value="Hide" />
                            </div>
                            {!! Form::close() !!}
                        @endif
                    @endif
                </span>

            </div>
        </div>
      @if($depth < 3)
        <ul>
            <li>

                @include('nested.replies', ['comments' => $comment->replies, 'depth' => $depth + 1])

            </li>
        </ul>
        @endif
    </li>
</ol>
@endforeach

мы можем увидеть ответы здесь

@if($depth < 3)
        <ul>
            <li>

                @include('nested.replies', ['comments' => $comment->replies, 'depth' => $depth + 1])

            </li>
        </ul>
        @endif

я думаю, что этот код не работает должным образом, потому что он все еще является точным вложенным комментарием ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...