Skip to main content

Templates

The Templates module stores reusable content templates.

At the moment the module supports HTML templates. Rendering is intentionally left to consumers.

Install

composer require qore-next/templates

The package auto-discovers TemplatesServiceProvider.

Publish migrations:

php artisan vendor:publish --tag=qore-next.templates.db
php artisan migrate

The module also has publishable config:

php artisan vendor:publish --tag=qore-next.templates.config

Data Model

Template stores:

  • name;
  • editable unique code_name, generated from name in the resource form;
  • type, cast to TemplateType;
  • optional description;
  • content.

The only supported type for now is TemplateType::HTML.

Resource

Enable the module in Qore's modules UI. On enable it creates CRUDA permissions for templates; on disable it deletes the templates permission category.

When enabled, the module registers:

  • TemplatePolicy;
  • TemplateResource;
  • translations, config and migrations.

Register the frontend module in resources/js/app.tsx so the template icon is loaded:

import templatesModule from '../../vendor/qore-next/templates/resources/js'

<QoreAppProvider
app={{
// ...
modules: [templatesModule]
}}
/>