Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Statamic Certificates Laravel Package

goldnead/statamic-certificates

Statamic Certificates is an addon for creating and managing certificates in Statamic. Define templates, issue certificates with unique verification codes, and let recipients validate authenticity through a simple public endpoint, all from the control panel.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with Composer (composer require <vendor>/<addon>) and confirm Statamic auto-discovers the addon (its composer.json declares statamic-addon and a service provider). Neither v0.1.4 nor v0.1.6 introduces a config key or migration, so an existing install just needs composer update.
  • v0.1.6 is a dependency-only release: it widens the statamic-courses constraint to ^0.6. Nothing the addon reads from courses has changed, so no code or config changes are needed on your side — but see the version-pinning notes below if you're moving courses forward.
  • Look first at the addon's service provider and config/ directory, then at its settings blueprint (typically resources/blueprints/... or the settings array in config/<addon>.php). That blueprint is what renders your day-to-day settings form.
  • Check your installed statamic-brand-context version early: composer show statamic/brand-context. This decides whether you get the new "Einstellungen" sub-item layout (>= 1.16) or the legacy layout.
  • Also check composer show statamic/courses. If you're on courses 0.6.x you need this addon at >= v0.1.6; if you're still on courses 0.5.x, v0.1.4/v0.1.5 remain fine.
  • First use case: install, open the Control Panel, and verify where the addon's settings actually surface — either as "Einstellungen" under the addon's own nav entry, or as part of the shared "Addon-Suite" page under Settings. That tells you immediately which brand-context behaviour you're on.

Implementation Patterns

  • Settings access: read and write values through Statamic's settings API (e.g. Settings::get('...') / the addon's config repository) rather than reading files directly, so blueprint-driven changes in the CP take effect predictably.
  • Nav placement is declarative, not imperative: the addon now exposes settingsNavParent() returning [section, name] — the section and name of its own CP nav entry. You don't wire nav items yourself; you ensure the addon's nav entry exists and matches what the method returns.
  • Suite-style addons: if you maintain several small addons, the "Addon-Suite" page under Settings is the natural home for addons that don't ship their own nav. Let the ones without nav share that page and save yourself duplicate CP pages.
  • Version-conditional behaviour: if you support both brand-context < 1.16 and >= 1.16, don't branch on version strings in your own code — the addon and brand-context already handle the fallback (older versions ignore settingsNavParent()). Keep your integration code identical across versions.
  • Pin across the suite: when your app targets statamic-courses ^0.6, require this addon at ^0.1.6; on courses 0.5.x, ^0.1.4 is sufficient. Composer won't resolve courses 0.6 against addon v0.1.5 and below, so aligning the two constraints up front avoids a confusing resolution failure during an unrelated upgrade.
  • Workflow for adding settings: add fields to the settings blueprint → clear caches → reload the CP. Blueprint changes are picked up without a migration, which keeps iteration fast.
  • Integration tip: when your own addon is the nav parent for several settings groups, make the nav entry stable (section + name unlikely to change) since other addons may point at it.

Gotchas and Tips

  • Silent no-op on older brand-context: on brand-context < 1.16, settingsNavParent() is ignored entirely — no error, no deprecation warning. If settings appear in the old location, that's the cause, not a broken addon.
  • Mismatched parent: if the returned [section, name] doesn't match a real CP nav entry, expect the settings to fall back to the shared page (or vanish from the intended spot). Sanity-check both halves of the array against the actual nav registration.
  • Cache clearing: after upgrading, run php artisan cache:clear and php artisan statamic:stache:clear (or statamic:stache:warm) — stale nav/stache data is the usual reason a nav change "doesn't show up".
  • No migration, no new config key: v0.1.4 through v0.1.6 are safe upgrades. There is nothing to publish or backfill; don't go hunting for a migration that isn't there.
  • Courses version coupling: v0.1.6 exists solely to permit statamic-courses ^0.6. Installing it does not upgrade courses, and upgrading courses first can leave you on an unresolvable set — bump both together (composer require statamic/courses:^0.6 <vendor>/<addon>:^0.1.6).
  • Multiple addons, one page: addons without nav entries all land on the same "Addon-Suite" page under Settings. If you need a dedicated entry, ship a nav registration rather than relying on the shared page.
  • Extension point: settingsNavParent() is the intended hook — override/extend it rather than hardcoding CP nav via a custom nav registration, so your addon stays compatible with future brand-context behaviour.
  • Debugging tips: confirm the provider is registered (php artisan about / Statamic addon list), confirm the addon's nav entry appears at all, then confirm the returned tuple matches — that three-step check isolates almost every settings-placement issue. For dependency problems, composer why statamic/courses quickly shows which package is holding the constraint back.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console