...
✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So erstellen Sie einen Blog mit Laravel

127

Laravel ist das beliebteste PHP-Framework. Wir alle wissen, dass die Leute dieses Framework bevorzugen, um ihre Webanwendungen zu erstellen. Und während Sie mit Laravel eine Website erstellen, möchten Sie wahrscheinlich einen Blog auf Ihrer Website erstellen. Im Allgemeinen ist Laravel keine Blogging-Plattform wie WordPress, auf der Sie alle Backend-Zeugs bereithalten, um Ihre Blogartikel zu verwalten. Und das Blog-System von Grund auf neu aufzubauen, ist ziemlich zeitaufwendig. Dank Canvas, das Laravel-Entwicklern das Leben erleichtert, indem es eine coole Publishing-Plattform für Laravel erstellt.

Mit dem Canvas-Paket können wir unseren Blog in Laravel in nur wenigen Minuten erstellen. Canvas hat bereits harte Arbeit geleistet, um die Backend-Sachen des Blogs zu verwalten. Sie müssen nur die Daten abrufen und im Frontend passend zu Ihrem Design anzeigen.

Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie mit Laravel mit dem Canvas-Paket einen Blog erstellen.

Einstieg

Um mit Canvas zu beginnen, müssen Sie zunächst die grundlegende Anforderung von Canvas erfüllen, nämlich die Benutzerauthentifizierung. Laravel macht die Implementierung der Authentifizierung wirklich einfach. Wenn Sie die Laravel-Authentifizierung bereits installiert haben, überspringen Sie diesen Schritt. Ansonsten führen Sie in Ihrem Terminal die folgenden Befehle nacheinander aus, um die Laravel-Authentifizierung einzurichten.

composer require laravel/ui --dev
php artisan ui vue --auth
npm install && npm run dev

Erstellen Sie einen Blog mit Laravel mit Canvas Package

Sobald die Authentifizierung erfolgt ist, können Sie den Canvas installieren, indem Sie den folgenden Befehl ausführen:

composer require cnvs/canvas

Nach der Paketinstallation müssen Sie Assets und die primäre Konfigurationsdatei veröffentlichen. Veröffentlichen Sie es mit dem Befehl:

php artisan canvas:install

Dieser Befehl würde die primäre Konfigurationsdatei unter suchen config/canvas.php. Mit dieser Konfigurationsdatei können Sie verschiedene Aspekte steuern. Aber Sie müssen diese Datei selten anfassen, da alles an den Stellen bereits definiert ist.

Es erstellt auch einige Tabellen in Ihrer Datenbank. Dieses Paket fügt all diesen neu erstellten Tabellen ein ‘canvas_’-Präfix hinzu.

Wenn es um Blogs geht, müssen Sie immer Bilder im Inhalt verwenden. Erstellen Sie daher einen symbolischen Link, um sicherzustellen, dass Datei-Uploads öffentlich über das Web zugänglich sind.

php artisan storage:link

Das bedeutet, dass Sie Ihre hochgeladenen Bilder im public/storageVerzeichnis sehen werden.

Wenn Sie nun die URL http://localhost:8000/canvas ausführen, werden Sie auf die Statistikseite umgeleitet. Sie können auf die Login-Seite umleiten, wenn Sie nicht eingeloggt sind. Hier verwende ich den localhost, Sie können diese URL anpassen.

Auf der Statistikseite erhalten Sie grundlegende Analysen Ihres Blogs wie die Anzahl der Aufrufe, Besucher, der Trend jedes Artikels usw.

Aus dem Header-Bereich können Sie die Menüs zum Erstellen von Beiträgen, Tags, Themen, Einstellungen usw. abrufen. Sie müssen mit all diesen Menüs spielen. Es ist einfach und leicht zu verstehen.

So erstellen Sie einen Blog mit Laravel

Wenn Sie auf die Schaltfläche „Neuer Beitrag” klicken, werden Sie auf eine Seite weitergeleitet, auf der Sie Ihren Artikel hinzufügen können. Sie können dem Artikel auch vorgestellte Bilder, SEO-Einstellungen, Tags und Themen hinzufügen. Beachten Sie die drei Punkte neben der Schaltfläche Veröffentlichen. Wenn Sie auf diese Punkte klicken, erhalten Sie alle diese Optionen.

So erstellen Sie einen Blog mit Laravel

Der obige Screenshot zeigt die Hintergrundfarbe, wenn ich den Dunkelmodus aktiviert habe. In Ihrem Fall sehen Sie möglicherweise den weißen Hintergrund. Also nicht damit verwechseln. Der Benutzer kann diese Dunkelmodusfunktion auf der Seite Einstellungen finden.

Canvas verfügt über eine automatische Speicherfunktion, damit Sie Ihre Arbeit nicht verlieren.

Die Schnittstelle dieses Pakets ist unkompliziert. Sie können sich in kürzester Zeit leicht damit vertraut machen. Als nächstes müssen wir Ihre Artikel im Frontend anzeigen.

Veröffentlichung von Artikeln auf der Website

Sobald Sie mit dem Backend fertig sind, müssen Sie Ihre Artikel im Frontend anzeigen. Dazu müssen einige Routen und Methoden in der Controller-Datei definiert werden. Die Canvas-Bibliothek hat diese harte Arbeit für Sie erledigt. Auf der GitHub-Seite dieser Bibliothek erhalten Sie den Code dafür. Fügen Sie die folgenden Routen in Ihre routes/web.phpDatei ein.

// Get all published posts
Route::get('blog', 'BlogController@getPosts');
 
// Get posts for a given tag
Route::get('tag/{slug}', 'BlogController@getPostsByTag');
 
// Get posts for a given topic
Route::get('topic/{slug}', 'BlogController@getPostsByTopic');
 
// Find a single post
Route::middleware('CanvasHttpMiddlewareSession')->get('{slug}', 'BlogController@findPostBySlug');

Erstellen Sie einen Controller BlogController mit dem Befehl:

php artisan make:controller BlogController

Sie BlogController.phperhalten den unten stehenden Code.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class BlogController extends Controller
{
    public function getPosts()
    {
        $data = [
            'posts' => CanvasPost::published()->orderByDesc('published_at')->simplePaginate(10),
        ];
 
        return view('blog.index', compact('data'));
    }
 
    public function getPostsByTag(string $slug)
    {
        if (CanvasTag::where('slug', $slug)->first()) {
            $data = [
                'posts' => CanvasPost::whereHas('tags', function ($query) use ($slug) {
                    $query->where('slug', $slug);
                })->published()->orderByDesc('published_at')->simplePaginate(10),
            ];
 
            return view('blog.index', compact('data'));
        } else {
            abort(404);
        }
    }
 
    public function getPostsByTopic(string $slug)
    {
        if (CanvasTopic::where('slug', $slug)->first()) {
            $data = [
                'posts' => CanvasPost::whereHas('topic', function ($query) use ($slug) {
                    $query->where('slug', $slug);
                })->published()->orderByDesc('published_at')->simplePaginate(10),
            ];
 
            return view('blog.index', compact('data'));
        } else {
            abort(404);
        }
    }
 
    public function findPostBySlug(string $slug)
    {
        $posts = CanvasPost::with('tags', 'topic')->published()->get();
        $post = $posts->firstWhere('slug', $slug);
 
        if (optional($post)->published) {
            $data = [
                'author' => $post->user,
                'post'   => $post,
                'meta'   => $post->meta,
            ];
 
            // IMPORTANT: This event must be called for tracking visitor/view traffic
            event(new CanvasEventsPostViewed($post));
 
            return view('blog.show', compact('data'));
        } else {
            abort(404);
        }
    }
}

Blade-Dateien erstellen

Wie im Controller definiert, erstellen wir eine Blade-Datei blog/index.blade.phpund blog/show.blade.php. In diesem Tutorial werde ich keine Blog-Liste und Detailseite entwerfen. Da jeder von euch ein eigenes Design hat. Ich werde nur Artikel über die Blade-Datei drucken. Sie können Design-Matching mit Ihrer Website anwenden.

blog/index.blade.php

<ul>
    @foreach($data['posts'] as $d)
        <li>
            <h2><a href="{{url($d['slug'])}}">{{ $d['title'] }}</a></h2>
            <p>{!! $d['body'] !!}</p>
        </li>
    @endforeach
</ul>

blog/show.blade.php

@if($data['post']['featured_image'])
    <img src="{{ url($data['post']['featured_image']) }}" alt="{{ $data['post']['featured_image_caption'] }}" />
@endif
<h2>{{ $data['post']['title'] }}</h2>
{!! $data['post']['body'] !!}

Ich würde vorschlagen, die $dataVariable zu drucken und die gesamten Informationen zu überprüfen, die diese Variable enthält. Sie möchten wahrscheinlich auch andere Details aus dieser Variablen verwenden.

Ich hoffe, Sie verstehen, wie Sie mit Laravel mithilfe eines Canvas-Pakets einen Blog erstellen. Weitere Informationen zu diesem Paket finden Sie unter cnvs/canvas.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen