21torr/storyblok
Symfony bundle providing API helpers and infrastructure to work with Storyblok. Simplifies fetching content, integrating Storyblok services, and building Storyblok-powered Symfony apps. Includes documentation for setup and usage.
StoryblokDefinitionsSyncedEvent), enabling hooks for caching, logging, or real-time updates.RichTextField, AssetField, LinkField), reducing manual API handling.storyblok:sync), reducing boilerplate.AbstractStoryblokAdapter), allowing for mocking/testing and future provider swaps (e.g., local dev overrides).ContentApi, ManagementApi), requiring per-adapter configuration. Mitigation: Follow the upgrade guide and refactor service references.allow_target_blank, allow_multiline) may require deep Symfony configuration. Mitigation: Use YAML/annotation-based config or DTOs for clarity.useDescriptionAsAlt/allowLinksOpeningInNewWindow settings are validated.composer require installation with autoloading for DTOs and services.{{ storyblok.content }}).AssetData, StoryData) can be extended for GraphQL/REST endpoints.composer require 21torr/storyblok-bundle
config/packages/storyblok.yaml (see docs).AbstractStoryblokAdapter.# config/packages/storyblok.yaml
storyblok:
adapters:
default:
api_token: '%env(STORYBLOK_TOKEN)%'
space_id: '%env(STORYBLOK_SPACE)%'
cache_dir: '%kernel.project_dir%/var/cache/storyblok'
{% extends 'base.html.twig' %}
{% block body %}
{{ storyblok.render(storyblok.content) }}
{% endblock %}
# config/routes.yaml
storyblok_webhook:
path: /storyblok/webhook
controller: StoryblokBundle:Webhook:handle
cache_dir (configurable).storyblok Twig functions for content rendering and asset URLs.composer why-not 21torr/storyblok-bundle to track updates.STORYBLOK_TOKEN, STORYBLOK_SPACE) to avoid hardcoding.RichTextField toolbar options) may require documentation for content editors.storyblok:debug command to inspect content structure and API responses.allow_target_blank for links).How can I help you explore Laravel packages today?