Tagmanager2 - ломается фильтр при прохождении через urlencode

Подскажите пожалуйста, как сделать чтобы квадратные скобки фильтра переваривались функцией urlencode?
На сайте конвертер валют, при прохождении через который квадратные скобки и параметр упраздняется - в итоге валюта меняется, а значения фильтров сбрасываются.
Код сниппета, который формирует строку:

<?php
/**
 * Сниппет обеспечивает вывод списка валют
 */

$iStart=microtime(true);
if(!class_exists('currency')) {
	$modelPath = $modx->getOption('core_path').'components/currencies/model/';
	include_once $modelPath.'currency.class.php';
}

if(!isset($scriptProperties['tpl']))
	$scriptProperties['tpl']='currenciesList';
if(!isset($scriptProperties['classActive']))
	$scriptProperties['classActive']='active';
if(!isset($scriptProperties['classNormal']))
	$scriptProperties['classNormal']='normal';

if(isset($scriptProperties['hideOnEmpty']) && $scriptProperties['hideOnEmpty']=='Y') {
	if(isset($scriptProperties['parentId'])) {
		$iParentId=$scriptProperties['parentId'];
	} else {
		$iParentId=$modx->resource->get('id');
	}
	$c = $modx->newQuery('modResource');
	$c->select('`modResource`.`id`');
	$c->where(array("template" => $itemTpl,'parent'=>$parent));
    $rows= xPDOObject::_loadRows($modx, 'modResource', $c);
		if(!$rows->fetch())
	if(!RequestParser::hasItems($itemsTpl, $iParentId)) return ''; 
}


$obCurrency=currency::getInstance();

$arResult=array();

$arCurrentCurrency=$obCurrency->getCurrent();
$sOutput='';
if($arList=$obCurrency->getList()) {
	$arParams=array_merge($_GET,array(
		'currencies'=>'set',
		'curKey'=>'#KEY#',
	));
  	unset($arParams['c']);
  	unset($arParams['q']);
	$arRows=array();
	foreach($arParams as $key=>$value) 
	  $arRows[]=urlencode($key).'='.urlencode($value);
	  
	  
  	 
	//Если настроено более 0 валют
	if($modx->resource && $modx->resource->get('id')!=2) {
	  //$sSetUrl=$modx->makeUrl($modx->resource->get('id'),$modx->context->get('key'),join('&',$arRows));
	     $sSetUrl=$modx->makeUrl($modx->resource->get('id'),$modx->context->get('key'),join('&',$arRows)); 
	} else {
		$sSetUrl=$_SERVER['REQUEST_URI'];
		$iQPos=strpos($sSetUrl,'?');
		if($iQPos>0) {
			$sSetUrl=substr($sSetUrl, 0, $iQPos);
		}
		$sSetUrl.='?'.join('&',$arRows);
	}
	foreach($arList as $arCurrency) {
	  	$arResult[$arCurrency['code'].'_set_link']=str_replace(urlencode('#KEY#'),$arCurrency['code'],$sSetUrl); //RUR_set_link
	  	$arResult[$arCurrency['code'].'_class']=$scriptProperties['classNormal'];
		if($arCurrentCurrency['code']==$arCurrency['code']) 
			$arResult[$arCurrency['code'].'_class']=$scriptProperties['classActive'];
		$arResult[$arCurrency['code'].'_title']=$arCurrency['name'];
		$arResult[$arCurrency['code'].'_nominal']=$arCurrency['nominal'];
		$arResult[$arCurrency['code'].'_value']=$arCurrency['value'];
	}
	$sOutput=$modx->getChunk($scriptProperties['tpl'],$arResult);
}
if(defined('FS_DEBUG'))
	echo "Общее время подготовки списка валют: ".(microtime(true)-$iStart);
return $sOutput;

используется этот сниппет валют, а не из шопкипера по умолчанию, т.к. требуется поправка на конвертацию к курсам валют

строка
https://p-avt.ru/fanless/ippc-atvk-j1900.html?f_Diagonal[]=12.1

после отработки сниппета конвертера приобретает вид
https://p-avt.ru/fanless/ippc-atvk-j1900.html?page_id=798&f_Diagonal=&_=1496137510083&currencies=set&curKey=RUR

В итоге фильтр сбрасывает значения (квадратные скобки и параметры теряются)

вопрос скорей сводится к следующему:
как в стороннем сниппете получить эту строчку f_Diagonal[]=12.1 ?
текущее значение выбранных фильтров

Участник @semenov80 написал в Tagmanager2 - ломается фильтр при прохождении через urlencode:

вопрос скорей сводится к следующему:
как в стороннем сниппете получить эту строчку f_Diagonal[]=12.1 ?
текущее значение выбранных фильтров

Как-то так:

$value = !empty( $_GET['f_Diagonal'] ) ? $_GET['f_Diagonal'] : array();

На выходе будет массив.

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.