Skip to content

Blade — Usage

Comment box by page_id

html
@php
    $pageId = 'post-'.$post->id;
@endphp

<x-blade-comments-box :pageId="$pageId" />

Alias:

html
<x-blade-comments::box :pageId="$pageId" />

Comment box on an Eloquent model

Whitelist the class in config/vgcomment.php:

php
'allowed_commentable_types' => [
    \App\Models\Post::class,
],

Then:

html
<x-blade-comments-box :commentable="$post" />

Minimal page

html
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    @commentBladeStyles
</head>
<body>
    <x-blade-comments-box pageId="blog-1" />

    @commentBladeScripts
</body>
</html>

How it works

  1. The Blade component loads existing comments via CommentService.
  2. It embeds JSON config (apiBase, CSRF, guest flags, context, …).
  3. comments.js talks to /{prefix}/api for create/update/react/upload.

You do not need Livewire, Alpine, or Echo for the Blade UI.

Multiple boxes

Use different pageId (or models) per instance:

html
<x-blade-comments-box pageId="section-a" />
<x-blade-comments-box pageId="section-b" />

Admin

Same core admin as Livewire apps: Admin panel.

MIT · Blade-first for 2.x · Livewire 4 supported