Разработка сайтов на UMI.CMS
Знать UMI.CMS в совершенстве невозможно.
Даже сами разработчики знают о ней не все...

UMi

Ursa Minor

Простой скрипт для извлечения параметров из GET-запроса

Простой скрипт для извлечения параметров из GET-запроса. Требуется mootools. Строго говоря, в mootools есть встроенная функция для разбора URI, но у меня она в строке из примера отказывалась работать, если первым после ? шел постраничный вывод.

function parseGetParams() {
    var $_GET = {};
    var __GET = window.location.search.substring(1).split("&");
    for(var i=0; i<__GET.length; i++) {
        var getVar = __GET[i].split("=");
        $_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1];
    }
    var _temp = {},Result = {};
    Object.each($_GET,function(value,param){
        value = decodeURIComponent(value);
        param = decodeURIComponent(param);
        var keys = param.match(/([^][]+|(B)(?=]))/g);
        _temp = Result;
        if(keys){
            keys.each(function(key,i){
                var current = _temp[key];
                if (i < keys.length - 1) _temp = _temp[key] = current || {};
                else if (typeOf(current) == 'array') current.push(value);
                else _temp[key] = (current != null) ? [current, value] : value;
            });
        }
    });
    return Result;
}

Из строки запроса извлекается все, что справа от "?":
?p=2&fields_filter[vendor][43707]=43707&fields_filter[klass][31435]=31435
разбивается по
"&", каждый элемент масива разибвается по "=" на пару "параметр"-"значние", каждый параметр проверяется на наличие "[]".строка из примера преобразуется в объект вида

{
    p:2,
    fields_filter:{
        vendor: {
            43707: 43707
        },
        klass:{
            31435: 31435
        }
    }
}

Новости

30.10.2016

Обновлено описание макроса для вывода всех элементов справочника UMI.CMS с учетом версии 14.

 

21.07.2015

Памятка по обновлению до debian 8.1. Приятно вкусить все плюшки PHP 5.6

11.11.2014

Как выполнить SQL-запрос из bash-скрипта. Памятка

11.11.2014

Как отследить нагрузку сайта на сервер.

06.11.2014

Заготовка для галереи изображений с прокруткой. Не знаю, когда дойдут руки довести ее до вида плагина, поэтому открываю как есть. Можно доработать.

05.11.2014

Выкладываю как заготовку свой слайдер изображений на mootools

Все обновления