Skip to content Skip to footer navigation

Scope Tag

Used to push all of the "root", or page scope data into an array to be used however you see fit.

Overview#

Most commonly this take is used to avoid any kind of variable collisions or to confirm data to a particular naming mechanism. Scoping is most often done on the Tag level (e.g. the Collection Tag), but gives you another level of control and flexibility.

Example#

---
title: Grimmace Shake
---
{{ scope:stuff }}
<h1>{{ stuff:title }}</h1>
{{ /scope:stuff }}
<?php
$title = 'Grimmace Shake';
?>
<s:scope:stuff>
<h1>{{ $stuff['title'] }}</h1>
</s:scope:stuff>

This will output:

<h1>Grimmace Shake</h1>

Handle Prefix#

The handle_prefix parameter lets you access prefixed variables without needing to include the prefix. This is useful when working with imported fieldsets that use a prefix.

For example, if you have a fieldset imported with the prefix hero_, you might have variables like hero_title and hero_description. Using handle_prefix, you can reference them without the prefix:

{{ scope handle_prefix="hero_" }}
{{ if title }}
<h1>{{ title }}</h1>
<p>{{ description }}</p>
{{ /if }}
{{ /scope }}
<s:scope handle_prefix="hero_">
@if ($title)
<h1>{{ $title }}</h1>
<p>{{ $description }}</p>
@endif
</s:scope>

In this example, {{ title }} will resolve to the value of hero_title, and {{ description }} will resolve to hero_description.

Parameters

scope

tag part

The name of the scope while. This is not a parameter, but part of the tag itself. For example, {{ scope:plop }}.

handle_prefix

string

A prefix to prepend to variable names when looking up data. For example, if you have a variable named hero_title and use handle_prefix="hero_", you can reference it as {{ title }}.