Title
Quia sed sint aliquam quidem officiis unde repellendus.
Author
Rebeca Hamill
Public
yes
Body
Nulla aut pariatur dolorem est ipsum. Dolor architecto rerum repudiandae. Ut et numquam voluptate.

module structure

demo-module/
├─ Livewire/
│  ├─ Home.php
│  ├─ ArticlesTable.php
│  ├─ ArticlesView.php
│  └─ ArticlesEdit.php
├─ Views/
│  ├─ home.blade.php
│  ├─ articles_table.blade.php
│  ├─ articles_view.blade.php
│  ├─ articles_edit.blade.php
│  ├─ menu.blade.php
│  └─ frontend_menu.blade.php
├─ Models/               Article.php, Author.php
├─ Database/             Migrations/, Seeders/
├─ config.php            layout, menu entry
├─ routes.php
└─ DemoModuleServiceProvider.php

route

routes.php


Route::get('demo/articles/view/{article:id}', ArticlesView::class)
    ->
middleware(['web'])
    ->
name('demo.articles.view')
    ->
crumbs(fn ($crumbs, $article) => $crumbs->parent('demo.articles')->push(__('View Article'), route_lang('demo.articles.view', $article)));

component

Livewire/ArticlesView.php


<?php

namespace App\Modules\Demo\Livewire;

use 
App\Modules\Demo\Models\Article;
use 
Livewire\Component;

class 
ArticlesView extends Component
{
    public 
Article $article;

    public function 
mount(Article $article): void
    
{
        
$this->article = $article;
    }

    public function 
render()
    {
        return 
view('demo::articles_view')->layout('layout::admin');
    }
}

view

Views/articles_view.blade.php


<x-rpd::card>
    <
x-rpd::view title="Article">
        <
x-slot name="buttons">
            <
x-rpd::button route="demo.articles" color="outline-primary" label="List" />
            <
x-rpd::button :route="['demo.articles.edit', $article->id]" color="outline-primary" label="Edit" />
        </
x-slot>

        <
dl class="row">
            <
dt class="col-3">{{ __('Title') }}</dt>
            <
dd class="col-9">{{ $article->title }}</dd>
            <
dt class="col-3">{{ __('Author') }}</dt>
            <
dd class="col-9">{{ $article->author?->firstname }} {{ $article->author?->lastname }}</dd>
            <
dt class="col-3">{{ __('Public') }}</dt>
            <
dd class="col-9">{{ $article->public ? __('yes') : __('no') }}</dd>
            <
dt class="col-3">{{ __('Body') }}</dt>
            <
dd class="col-9">{!! $article->body !!}</dd>
        </
dl>
    </
x-rpd::view>
</
x-rpd::card>

Support
How can I help you today?