A utility package for Laravel that easily connects to a Cockpit CMS installation.

1.1.1 2023-02-05 13:48 UTC

This package is not auto-updated.

Last update: 2024-12-08 22:22:14 UTC


README

Jetway logo

Jetway

Current version 1.1.1.

A utility package for Laravel that easily connects to a Cockpit CMS installation.

Requirements

Currently only supports laravel/framework ^9.19.

Requires basic knowledge of the Cockpit CMS.

Installation

Composer

Run `composer install jesse-koerhuis/jetway`.

Usage

Configuration

Add the following data to the env.php file of your Laravel installation:

# Cockpit CMS configuration
CMS_BASE_URL="<Your Cockpit CMS base URL>"
CMS_ASSETS_BASE_URL="<Your Cockpit CMS base URL>/storage/uploads"

# Jetway configuration
COCKPIT_API_BASE_URL="<Your Cockpit CMS API base URL>"
COCKPIT_API_TOKEN="<Your Cockpit CMS API token>"
COCKPIT_CMS_PAGES_COLLECTION_NAME="<Your Cockpit CMS pages collection name>"
COCKPIT_CMS_PAGES_SLUG_FIELD_NAME="<Your Cockpit CMS page slug field name>"

Dynamic Router

Locate the routes/web.php of your Laravel installation. Call the following code before all other routes:

\JesseKoerhuis\Jetway\Http\Routing\DynamicRouter::prepare(); // Warning: Call this method only once!
\JesseKoerhuis\Jetway\Http\Routing\DynamicRouter::generate();

To add exceptional routes, use the following method below the generate method:

\JesseKoerhuis\Jetway\Http\Routing\DynamicRouter::exception('/your_path', YourController::class);

Fetching content models from the API

To fetch a content model with multiple entries:

\JesseKoerhuis\Jetway\Http\Api\ContentModel::get('MODEL_NAME');

// Or with filter and/or fields...
$data = \JesseKoerhuis\Jetway\Http\Api\ContentModel::get('MODEL_NAME', true, [
    // filter...
],
[
    // fields...
]);

To fetch a content model with only one entry:

$data = \JesseKoerhuis\Jetway\Http\Api\ContentModel::get('MODEL_NAME', false);

// Or with custom parameters...
$data = \JesseKoerhuis\Jetway\Http\Api\ContentModel::get('MODEL_NAME', false, [
    // ...
]);

Contributing

Jesse Koerhuis\ jkoerhuis.development@gmail.com

License

This project is licensed under MIT. Feel free to clone this project or contribute to it by submitting a merge request.