These pages list the exact data fields available to hosted Vascula themes. Add a root name such as product to a section's ctx_needs, then read it directly as product.title in the template. The ctx. prefix shown here identifies the public contract; do not include that prefix in a Vascula expression. Required fields are present whenever their containing object is present. Optional fields may be absent, and nullable fields may be present as null. [] marks an array item and {key} marks a key selected at runtime. Named types such as Price and Media are detailed on Shared data shapes.
ctx.page#
The routed published content page. Available on Page routes when declared in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Object |
Declared root |
|
HTML |
Required |
|
Metafields |
Optional |
|
String or null |
Required; may be null |
|
String or null |
Required; may be null |
|
String |
Required |
|
String |
Required |
ctx.pages#
Bounded route-free index of published content pages for navigation surfaces. Loaded when a section declares it in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Array of content index |
Declared root |
ctx.policy#
The routed published store policy. Available on Policy routes when declared in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Object |
Declared root |
|
HTML |
Required |
|
String or null |
Required; may be null |
|
String or null |
Required; may be null |
|
String |
Required |
|
String |
Required |
|
String |
Required |
ctx.policies#
Route-free index of published store policies for legal navigation. Loaded when a section declares it in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Array of object |
Declared root |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
ctx.blog_post#
The routed blog article, author, categories, comments, and comment pagination. Available on Blog post routes when declared in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Object |
Declared root |
|
Object or null |
Required; may be null |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
Integer |
Required |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
Timestamp |
Required |
|
String |
Required |
|
Boolean |
Required |
|
Boolean |
Required |
|
Boolean |
Required |
|
Object |
Required |
|
Integer |
Required |
|
Boolean |
Required |
|
Boolean |
Required |
|
String |
Required |
|
String |
Required |
|
Integer |
Required |
|
Integer |
Required |
|
Integer |
Required |
|
HTML |
Required |
|
String |
Required |
|
Object or null |
Required; may be null |
|
URL |
Required |
|
Object |
Required |
|
URL |
Required |
|
URL |
Required |
|
Metafields |
Optional |
|
String |
Required |
|
Timestamp |
Optional |
|
Array of object |
Required |
|
Object or null |
Required; may be null |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
Integer |
Required |
|
String |
Required |
|
Object or null |
Required; may be null |
|
URL |
Required |
|
String |
Required |
|
Timestamp |
Optional |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
URL |
Optional |
|
String |
Optional |
|
String |
Optional |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
Timestamp |
Optional |
ctx.blog#
The routed blog landing page and paginated article cards. Available on Blog routes when declared in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Object |
Declared root |
|
Array of object |
Required |
|
Integer |
Required |
|
String |
Required |
|
URL |
Required |
|
Object |
Required |
|
URL |
Required |
|
URL |
Required |
|
Array of object |
Required |
|
Object or null |
Required; may be null |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
Integer |
Required |
|
String |
Required |
|
Object or null |
Required; may be null |
|
URL |
Required |
|
String |
Required |
|
Timestamp |
Optional |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
URL |
Optional |
|
Pagination |
Required |
|
Object |
Required |
|
Integer |
Required |
|
String |
Required |
|
String |
Required |
ctx.blog_recent#
A bounded route-free list of recent published article cards. Loaded when a section declares it in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Array of object |
Declared root |
|
Object or null |
Required; may be null |
|
String |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
Integer |
Required |
|
String |
Required |
|
Object or null |
Required; may be null |
|
URL |
Required |
|
String |
Required |
|
Timestamp |
Optional |
|
String |
Required |
|
Array of object |
Required |
|
String |
Required |
|
String |
Required |
|
URL |
Required |
|
String |
Required |
|
URL |
Optional |
ctx.blog_category#
The routed blog category metadata. The blog root carries its paginated article cards. Available on Blog category routes when declared in ctx_needs.
Field |
Type |
Requirement |
|---|---|---|
|
Object |
Declared root |
|
String |
Required |
|
Metafields |
Optional |
|
String |
Required |
|
Integer |
Required |
|
String |
Required |
|
String |
Required |
|
String |
Required |