Skip to content

TallieuTallieu/dry-blog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DRY Blog

Blog package for dry including migrations, backend managers, i18n support, categories, blocks, photos and authors.

Index

Installation

composer require tallieutallieu/dry-blog

php oak migration migrate -m blog
Config options
Name Default
categories true
authors true
photos true
advanced-layout true
types ['text-photo', 'photo-text', 'text', 'text-frame', 'quote', 'quote-text', 'text-quote', 'text-video', 'video-text']
languages ['nl', 'en', 'fr']
private false
required-fields ['photo', 'title', 'slug', 'publication_date']
publication_timestamp false

Usage

Register the service provider
<?php

$app = new \Oak\Application();

$app->register([
    \Tnt\Blog\BlogServiceProvider::class,
]);

$app->bootstrap();
Implementation example
Controller
<?php

class blog extends base
{
    public static function index(Request $request, Page $page)
    {
        $app = Application::get();

        $dataList = $app->getWith(DataListInterface::class, [
            'repository' => BlogPosts::published()->recent(),
            'urlBuilder' => $app->getWith(BuilderInterface::class, [
                'base' => \dry\url('pages::view', $page),
            ]),
        ]);
        
        $tpl = parent::get_base_template($request, $page);
        $tpl->blogPosts = $dataList->getResults();
        $tpl->render( 'blog/index.tpl' );
    }
}