Articolo
- Titolo
- Quidem minima et perspiciatis id.
- Autore
- Gina Sporer
- Pubblico
- sì
- Testo
- Eos quod dignissimos laudantium alias. Quod error rerum quis dicta exercitationem est amet numquam. Ipsam quos quas saepe vel assumenda atque. Id et dolorem consectetur doloremque cum non.
struttura del modulo
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)));
componente
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>