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 real-time content updates and custom logic.storyblok:debug, storyblok:sync).allow_target_blank, allow_multiline).ContentApi, ManagementApi) in favor of adapter-based instantiation, requiring refactoring of existing integrations.fetchAllAssets()) may introduce latency if not optimized (e.g., caching).21torr/storyblok-bundle to composer.json (v5.x for new projects).config/packages/storyblok.yaml with:
storyblok:
adapters:
default:
space_id: "%env(STORYBLOK_SPACE_ID)%"
token: "%env(STORYBLOK_TOKEN)%"
adapter_key: "%env(STORYBLOK_ADAPTER_KEY)%"
ContentApi) with adapter-aware calls:
$contentApi = $this->container->get('storyblok.adapter.default.content_api');
{{ storyblok.component.field }}).storyblok:
field_types:
richtext:
allow_target_blank: true
toolbar:
- bold
- italic
/storyblok/webhook).StoryblokWebhookSubscriber for event handling.StoryblokWebhookValidator.StoryblokFieldTypeInterface for unsupported types.storyblok.yaml for deprecated keys (e.g., global services).storyblok:debug command for API inspection.fetchAllAssets) may need batch processing.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Storyblok API Downtime | Content unavailability | Local cache + fallback to static content |
| Webhook Delivery Failures | Stale content | Exponential backoff + retry logic |
| Invalid Webhook Payloads | Security risks | Strict validation + rate limiting |
| Asset URL Signing Errors | Broken media links | Retry with new tokens |
| Configuration Errors | Runtime exceptions | Comprehensive validation in config |
| Symfony Dependency Conflicts | Bundle incompatibility | Isolation via composer.json constraints |
How can I help you explore Laravel packages today?