All add-ons currently require PHP 7.4 or greater.

On July 4th 2024 PHP 8.2 will be the new minimum requirement for all add-ons. Expect any add-on released after that date to require 8.2 or greater. Some releases may not immediately take advantage of 8.x specific features in PHP, which means you might, be able to continue using new releases in PHP 7.4, however, if you experience an error the first thing you should do is update to PHP 8.2 then create a support ticket if the error persists.

Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from, be sure to visit to add the license to your account here on

Ticket: Multiple Bloq Variable Scoping Not Sending All Variables to Parent

Status Resolved
Add-on / Version Bloqs 4.12.4
EE Version 6.3.2

COLS Secretary

Apr 24, 2022

On a brand new EE install and where Bloqs is currently only active add-on installed and on the page, I run into the following issue when trying to use Bloq Variable Scoping:

I am creating bloqs that can style a parent bloq - these styles can be applied to different parent bloqs - but when they are parsed, only one seems to get sent up to the parent in this case (the padding bloq). If I remove the padding bloq from parsing, the background_color one parses, and so on.

But in any case, only 1 gets sent up to the section bloq. I’ve tried different names for the variables {choice}.

My best guess is they are being overwritten instead of appended/prepended.

{exp:channel:entries require_entry="yes"}
			{bloqs:set name="padding" value="{choice}” scope=”{bloqs:parent:id}”}
			{bloqs:set name="background_color" value="{choice}” scope=”{bloqs:parent:id}”}
			{bloqs:set name="border_color" value="{choice}” scope=”{bloqs:parent:id}”}

COLS Secretary

I tried to do my best at finding the issue in the Bloqs codebase.

In Controller/TagController.php at line 505 I changed:

$this->blockVarsScoped = array_replace($this->blockVarsScoped, $parser->getScopedVariables());


$this->blockVarsScoped = array_replace_recursive($this->blockVarsScoped, $parser->getScopedVariables());

The function change from “array_replace” to “array_replace_recursive” seems to be doing the trick so far. I will keep testing for my use case, but without knowing the full implications of this kind of change I think it should still be investigated further as there might be another solution or something else causing the issue.


BoldMinded (Brian)

Thank you for providing a clean code sample and screenshot. I’ll replicate this locally and see if I get the same result.


BoldMinded (Brian)

Just checked this locally. Your suggested change is good and it works for me too. I’ll include this in the next release. Thanks for pointing this out and suggesting the change!

Login to reply