Articolo
- Titolo
- Deleniti recusandae sit ut id molestias occaecati aut.
- Autore
- Rebeca Hamill
- Pubblico
- sì
- Testo
- Quia aut enim ea praesentium cupiditate fugit. Consectetur repudiandae atque voluptatum doloribus in. Sed et illum veritatis corrupti tempore nam. Aut autem nesciunt eum consequatur hic suscipit.
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>