Looks like that's a custom template modification that I missed; here's the code used:Where can I find this setting? I looked through the AdminCP but did not find it
View attachment 225047
<xf:macro template="dbtech_ecommerce_product_macros" name="product_select"
arg-productId="{$product.global_branding_free}"
arg-digitalOnly="{{ true }}"
arg-inputName="global_branding_free"
arg-phrase="Global Branding Free"
/>
<xf:macro template="dbtech_ecommerce_product_macros" name="product_select"
arg-productId="{$product.branding_free}"
arg-digitalOnly="{{ true }}"
arg-inputName="branding_free"
arg-phrase="Branding Free"
/>
With the changes introduced in XenForo 2.3.13, the tutorial has been updated with a backwards-compatible fix to theCopyrightcallback file.
I honestly thought nobody used this, but this update showed me how wrong I wasthanks for update I noticed that it stopped working with 2.3.13
Feel free to share, I’d be very interested in seeing what changes you madeyep used it all the time, I made some modifications to it though.
<?php
namespace your\namespace\Template\Callback;
class Copyright
{
protected const RENDERED_KEY = 'infdevSharedCopyrightRendered';
protected const CALLBACK_TAG = '<xf:callback class="your\\namespace\\Template\\Callback\\Copyright" method="render"></xf:callback>';
protected const COPYRIGHT_HTML = '<div>
<a class="u-concealed" rel="nofollow" href="https://www.yoursite.com/" target="_blank">XenForo Add-Ons</a> from yourcompany™
©2011-2026 yourcompany
</div>';
protected static bool $rendered = false;
public static function render($contents = '', array $params = [], \XF\Template\Templater $templater = null): string
{
if ($templater) {
if (!empty($templater->pageParams[self::RENDERED_KEY])) {
return '';
}
$templater->setPageParam(self::RENDERED_KEY, true);
} else {
if (self::$rendered) {
return '';
}
self::$rendered = true;
}
return self::COPYRIGHT_HTML;
}
public static function getCopyrightText($matches): string
{
return ($matches[1] ?? '') . self::CALLBACK_TAG;
}
public static function insert($matches): string
{
return self::getCopyrightText($matches);
}
}
protected static $_productId = 0;
/**
* @param \XF\App $app
*/
public static function appSetup(
\XF\App $app
) {
if (!$app->offsetExists('prefix_branding_free')) {
// Make sure we fetch the branding array from the application
$branding = $app->offsetExists('prefix_branding') ? $app->prefix_branding : [];
// Add productid to the array
$branding[] = self::$_productId;
// Store the branding
$app->prefix_branding = $branding;
}
}
You aren’t unlocking the container, look at the updated code in the tutorialI think there is some kind of issue with modifying that PAGE_CONTAINER template that was introduced with the 2.3.13 update because it still is showing that error even with the modification I made, I turned it off for now until the next xf update. it was working all week then suddenly shows the error again LOL.
Template Compilation Error
public PAGE_CONTAINER - Cannot modify container while locked in /home/customer/www/infernodev.com/public_html/forums/src/XF/Container.php:325
We use essential cookies to make this site work, and optional cookies to enhance your experience.