Vlastný model príspevku
Post zámerne nie je final. Vytvorte podtriedu a nasmerujte na ňu posts.model:
namespace App\Models;
use RoundlyConsulting\Posts\Models\Post;
class Article extends Post
{
// your relations, scopes, accessors and overrides
}// config/posts.php
'model' => App\Models\Article::class,Balík používa posts.model všade — v create(), v publishDue() a príkaze na plánované publikovanie, v listeneroch, vo väzbe rôut, v HasPosts, v reláciách posts() kategórií a tagov aj vo factory príspevkov — takže vytvára, dotazuje a viaže práve vašu podtriedu. V hostiteľskom kóde sa k nej dostanete cez fasádu:
use RoundlyConsulting\Posts\Facades\Posts;
Posts::query(); // Builder over the configured model (Article)
Posts::published(); // its published() scope
Posts::findBySlug('hello-world'); // ?Article
Posts::create($data); // creates an ArticleBez nastavenia alebo pri prázdnej hodnote sa použije Post; akákoľvek iná hodnota musí byť Post alebo jeho podtriedou, inak sa vyhodí InvalidConfigurationException z toolkitu s názvom kľúča — cudzia trieda sa nikdy potichu nenahradí. Post::findBySlug() vždy použije triedu z balíka — použite radšej Posts::findBySlug() alebo Posts::query(). Category a Tag sú final.
Ďalšie možnosti rozšírenia
- Tabuľky — ľubovoľnú tabuľku premenujete v posts.tables.* pred migráciou.
- Kľúče — key_type a primary_key_type pred migráciou.
- SEO a JSON-LD — predvolené hodnoty seo.* a json-ld.*, setSeo() pre konkrétny príspevok a publikované posts-views.
- Háčiky publikačného cyklu — počúvajte štyri udalosti cyklu.
- Médiá — názvy skupín, disk, šírky, variant pre og:image a správanie tokenov v posts.media.*.
- Moderácia — posts.moderation.*, alebo počúvajte udalosti reports sami.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.