Boilerplate to use a Directus Instance to Build a Custom Website, Content will be Manage by Directus
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
HerrHase 83f6e9e065 adding #8 3 years ago
app adding #10 3 years ago
public adding #12 3 years ago
resources adding #10 #8 3 years ago
storage adding #8 3 years ago
.env.example adding new major release 3 years ago
.gitignore adding #8 3 years ago
README.md version 3 years ago
composer.json adding #8 3 years ago
composer.lock adding new major release 3 years ago
package-lock.json adding #2 3 years ago
package.json adding #2 3 years ago
snapshot.yaml adding #10 #8 3 years ago
webpack.mix.js adding #2 3 years ago

README.md

Super Gear Directus 1.0.0-rc1

Project to using a Directus Instance as CMS. Structure is inspired by Laravel, using FlightPHP for handle Request.

Installation

Download last Release, a Composer Installer will be Available in a Future Release.

Snapshot

There is a Snapshot for a Basic Setup for the Directus Instance.

Quickstart

Create a .env from .env.example adding token and url for Directus Instance.

DIRECTUS_API_URL=
DIRECTUS_API_TOKEN=

Laravel Mix

Repositories

For getting Data use App\Respositories\RepositoryAbstract to create Repository-Classes. This is the default class to handle

class PageRepository extends RepositoryAbstract
{
    /** endpoint */
    protected $endpoint = 'pages';

    /**
     *  find single page with a slug,
     *  page must be published
     *
     *  @param  string $slug
     *  @return array
     */
    public function findOneBySlug($slug)
    {
        if (!$slug) {
            $slug = [ '_null' => 'true' ];
        }

        return $this->queryBuilder
            ->fields(['title', 'slug', 'content', 'view', 'meta', 'media_teaser.*', 'media_hero.*'])
            ->aliases('view', 'template')
            ->filter([
                'status' => 'published',
                'slug' => $slug
            ])
            ->findOne();
    }
}