Implement news management features: add author field and comments functionality in NewsResource, enhance HomePageController to fetch latest news, and create dedicated views for news display and commenting. Update routes for comment submission and adjust homepage to showcase recent news articles.
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
@inject('solutionSettings', 'App\Settings\SolutionSettings')
|
||||
@inject('successSettings', 'App\Settings\SuccessSettings')
|
||||
@inject('portfolioSettings', 'App\Settings\PortfolioSettings')
|
||||
@inject('ctaSettings', 'App\Settings\CtaSettings')
|
||||
|
||||
@section('content')
|
||||
<!-- Banner Area Start -->
|
||||
@@ -315,71 +316,33 @@
|
||||
<div class="col-xl-12">
|
||||
<div class="blog__four-title t-center">
|
||||
<span class="subtitle wow fadeInLeft" data-wow-delay=".4s">News & Blog</span>
|
||||
<h2 class="title_split_anim">Update News & Blogs</h2>
|
||||
<h2 class="title_split_anim">News</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@foreach($allNews as $news)
|
||||
<div class="col-xl-4 col-md-6 mt-25 wow fadeInUp" data-wow-delay=".4s">
|
||||
<div class="blog__four-item">
|
||||
<div class="blog__four-item-image">
|
||||
<a href="blog-details.html"><img src="/web/assets/img/blog/blog-1.jpg" alt="image"></a>
|
||||
<a href="{{ route('news.show', $news->slug) }}"><img src="/storage/{{ $news->image }}" alt="image"></a>
|
||||
<div class="blog__four-item-image-date">
|
||||
<h5>22</h5>
|
||||
<h6>Dec</h6>
|
||||
<h5>{{ \Carbon\Carbon::parse($news->published_at)->format('d') }}</h5>
|
||||
<h6>{{ \Carbon\Carbon::parse($news->published_at)->format('M') }}</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blog__four-item-content">
|
||||
<div class="meta">
|
||||
<ul>
|
||||
<li><a href="#"><i class="far fa-user"></i>By-Admin</a></li>
|
||||
<li><a href="#"><i class="far fa-comment-dots"></i>Comments (3)</a></li>
|
||||
<li><a href="#"><i class="far fa-user"></i>{{ $news->author }}</a></li>
|
||||
<li><a href="#"><i class="far fa-comment-dots"></i>Comments ({{ $news->comments->count() }})</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h4><a href="blog-details.html">How Weather Can Impact a Construction Project</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-4 col-md-6 mt-25 wow fadeInUp" data-wow-delay=".7s">
|
||||
<div class="blog__four-item">
|
||||
<div class="blog__four-item-image">
|
||||
<a href="blog-details.html"><img src="/web/assets/img/blog/blog-2.jpg" alt="image"></a>
|
||||
<div class="blog__four-item-image-date">
|
||||
<h5>19</h5>
|
||||
<h6>Dec</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blog__four-item-content">
|
||||
<div class="meta">
|
||||
<ul>
|
||||
<li><a href="#"><i class="far fa-user"></i>By-Admin</a></li>
|
||||
<li><a href="#"><i class="far fa-comment-dots"></i>Comments (3)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h4><a href="blog-details.html">How to Choose the Perfect Construction Company</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-4 col-md-6 mt-25 wow fadeInUp" data-wow-delay="1s">
|
||||
<div class="blog__four-item">
|
||||
<div class="blog__four-item-image">
|
||||
<a href="blog-details.html"><img src="/web/assets/img/blog/blog-3.jpg" alt="image"></a>
|
||||
<div class="blog__four-item-image-date">
|
||||
<h5>14</h5>
|
||||
<h6>Dec</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="blog__four-item-content">
|
||||
<div class="meta">
|
||||
<ul>
|
||||
<li><a href="#"><i class="far fa-user"></i>By-Admin</a></li>
|
||||
<li><a href="#"><i class="far fa-comment-dots"></i>Comments (3)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h4><a href="blog-details.html">Top Mistakes to Avoid During Home Renovation</a></h4>
|
||||
<h4><a href="{{ route('news.show', $news->slug) }}">{{ $news->title }}</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -390,11 +353,11 @@
|
||||
<div class="container">
|
||||
<div class="row jc-center">
|
||||
<div class="col-xl-12">
|
||||
<div class="cta__four-area t-center" style="background-image: url('/web/assets/img/page/subscribe.jpg');">
|
||||
<div class="cta__four-area t-center" style="background-image: url('/storage/{{ $ctaSettings->background_image }}');">
|
||||
<div class="cta__four-area-content">
|
||||
<h2 class="title_split_anim">Join Our Community and Access Exclusive Insights Today</h2>
|
||||
<h2 class="title_split_anim">{{ $ctaSettings->title }}</h2>
|
||||
<div class="item_bounce">
|
||||
<a class="build_button mt-40" href="request-quote.html">Free Consultation<i class="flaticon-right-up"></i></a>
|
||||
<a class="build_button mt-40" href="{{ $ctaSettings->button_url }}">{{ $ctaSettings->button_text }}<i class="flaticon-right-up"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
@section('content')
|
||||
<!-- Breadcrumb Area Start -->
|
||||
<div class="breadcrumb__area" style="background-image: url('assets/img/page/breadcrumb.jpg');">
|
||||
<div class="breadcrumb__area" style="background-image: url('/web/assets/img/page/breadcrumb.jpg');">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
@extends('web.layouts.app')
|
||||
|
||||
@section('content')
|
||||
<!-- Breadcrumb Area Start -->
|
||||
<div class="breadcrumb__area" style="background-image: url('/web/assets/img/page/breadcrumb.jpg');">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div class="breadcrumb__area-content">
|
||||
<h2>{{ $news->title }}</h2>
|
||||
<ul>
|
||||
<li><a href="{{ route('home') }}">Home</a><i class="fa-regular fa-angle-right"></i></li>
|
||||
<li><a href="{{ route('news.index') }}">News</a><i class="fa-regular fa-angle-right"></i></li>
|
||||
<li>{{ $news->title }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Breadcrumb Area End -->
|
||||
|
||||
<!-- Blog Single Area Start -->
|
||||
<div class="blog-single__area section-padding">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8 col-lg-8 lg-mb-50">
|
||||
<div class="blog__single-left">
|
||||
<div class="blog__single-left-image">
|
||||
<img src="/storage/{{ $news->image }}" alt="{{ $news->title }}">
|
||||
</div>
|
||||
<div class="blog__single-left-content">
|
||||
<div class="blog__single-left-content-meta">
|
||||
<ul>
|
||||
<li><i class="fa-regular fa-calendar"></i> {{ \Carbon\Carbon::parse($news->published_at)->format('d M, Y') }}</li>
|
||||
<li><i class="fa-regular fa-user"></i> {{ $news->author }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3 class="mb-20">{{ $news->title }}</h3>
|
||||
{!! $news->content !!}
|
||||
</div>
|
||||
<!-- Comments Section -->
|
||||
<div class="comments-area">
|
||||
<h3 class="comments-title">Comments ({{ $news->comments->count() }})</h3>
|
||||
<div class="comments-list">
|
||||
@foreach ($news->comments as $comment)
|
||||
<div class="single-comment-item">
|
||||
<div class="single-comment-item-content">
|
||||
<h5>{{ $comment->title }}</h5>
|
||||
<span>By {{ $comment->author_name ?? 'Anonymous' }} on {{ \Carbon\Carbon::parse($comment->created_at)->format('d M, Y') }}</span>
|
||||
<p>{{ $comment->message }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<div class="comment-form-area">
|
||||
<h3 class="comment-form-title">Leave a Comment</h3>
|
||||
<form action="{{ route('comments.store', $news->slug) }}" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-25">
|
||||
<input type="text" name="title" placeholder="Comment Title*" required>
|
||||
</div>
|
||||
<div class="col-lg-6 mb-25">
|
||||
<input type="text" name="author_name" placeholder="Your Name (Optional)">
|
||||
</div>
|
||||
<div class="col-lg-12 mb-25">
|
||||
<textarea name="message" rows="5" placeholder="Your Message*" required></textarea>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<button type="submit" class="theme-btn">Post Comment<i class="flaticon-right-up"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-4 col-lg-4">
|
||||
<!-- You can add a sidebar here if needed -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Blog Single Area End -->
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user