Title
Eius ad odit qui eveniet consectetur vel labore.
Author
Helena Lebsack
Public
yes
Body
Enim est labore officiis optio illum eaque. Nulla et hic delectus fugit illum et ea.

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?