Skip to content

[6.x] Add configurable @blueprint template base path#11632

Open
o1y wants to merge 1 commit intostatamic:6.xfrom
o1y:custom-blueprint-base-path
Open

[6.x] Add configurable @blueprint template base path#11632
o1y wants to merge 1 commit intostatamic:6.xfrom
o1y:custom-blueprint-base-path

Conversation

@o1y
Copy link
Contributor

@o1y o1y commented Mar 28, 2025

Adds a new configuration option to customize where Statamic looks for templates when using @blueprint in collections to map templates to entry blueprints.

If template: @blueprint is set on the collection, by default it looks for a template that corresponds with the blueprint in
resources/views/{collection}/{template}.antlers.html.

  • With the new config option the user can set a different base path /resources/views/{blueprint_template_base_path}/{template}.antlers.html.

Adds a new configuration option to customize where Statamic looks for
templates when using `@blueprint` in collections.
@o1y o1y force-pushed the custom-blueprint-base-path branch from 101df2f to b2f56c1 Compare March 28, 2025 10:21
@jasonvarga
Copy link
Member

What's your actual use case for this?

@o1y
Copy link
Contributor Author

o1y commented Apr 25, 2025

I want to reuse the same set of templates (mapped to blueprints with the same name) across multiple collections without duplicating template files. This is my views folder:


resources/
└── views/
    ├── shared_blueprints/ 
    │   ├── page_builder.antlers.html
    │   ├── simple_page.antlers.html
    │   └── article.antlers.html
    └── ... 

Currently, ⁠template: @blueprint forces templates into collection-specific folders (⁠views/pages/, ⁠views/landing_pages/). This would require duplication. With the proposed config option, you could avoid this template dispatcher partial:

{{ partial src="shared_blueprints/{{ blueprint }}" }}

@jasonvarga
Copy link
Member

Gotcha so you just want to avoid the collection prefix and replace it with your own basically.

@martyf
Copy link
Contributor

martyf commented Nov 19, 2025

This would be such a handy thing to have... we're about to launch one site that has 7 Collections which each have the same requirements so a copy of the same Blueprint. Another currently in dev has 3.

For the one with 3, we need separate Collections because page names are the same among Collections (split by Audience), and if we put it all in one, and have an Entries fieldtype, we could see "Get Started" twice (once for each audience) but have no idea who it is for. In separate Collections, the fieldtype shows the Collection it is from.

For the one with 7, it is a deeply nested tree with large Collections: just too hard to manage in one big Collection.

The ability to have a central Blueprint shared among Collections would be epic.

@duncanmcclean duncanmcclean changed the title [5.x] Add configurable @blueprint template base path [6.x] Add configurable @blueprint template base path Jan 28, 2026
@duncanmcclean duncanmcclean changed the base branch from 5.x to 6.x January 28, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants