Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
max_rip 01.05.2014 14:18
В продолжении темы http://www.parser.ru/forum/?id=76414@CLASS serialForm @getData[][names] $self.data[^hash::create[]] ^form:fields.foreach[field;value]{ ^self.parseData[$field;$value] } $result[$self.data] @parseData[field;value][valueName] $mtcData[^field.match[^(.+?)\^[][g]] ^if($mtcData){ $fieldName[$mtcData.1] $mtc[^field.match[\^[(.+?)\^]][g]] ^mtc.menu{ ^switch(^mtc.line[]){ ^case(1){ ^if(!($data.$fieldName is "hash")){ $self.data.$fieldName[^hash::create[]] } $level1[$mtc.1] ^if(^mtc.count[] == 1){$self.data.$fieldName.$level1[$value]} } ^case(2){ $level2[$mtc.1] ^if(!($self.data.$fieldName.$level1 is "hash")){ $self.data.$fieldName.$level1[^hash::create[]] } ^if(^mtc.count[] == 2){$self.data.$fieldName.$level1.$level2[$value]} } } } }