| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
BeaVe 17.05.2007 15:08
В общем заинтересовала меня идея Азата Разетдинова.@parseForm[][hForm;aForm;_hForm;jCheck]
$result[^hash::create[]]
^form:fields.foreach[sFieldName;]{
# getting form field
$hForm[^self._parseFormField[$sFieldName]]
^rem{ *** creating result hash *** }
# declaring variables (for recursion)
$aForm[$hForm]
$_hForm[$result]
$jCheck{
^if($aForm is 'hash'){
^aForm.foreach[sName;aBody]{
^if(!def $_hForm.[$sName]){
$_hForm.[$sName][^hash::create[]]
}
$aForm[$aBody]
$_hForm[$_hForm.[$sName]]
$jCheck
}
}
}
$jCheck
^rem{ *** END creating result hash *** }
}
$result[$result]
#end @parseForm[]
@_parseFormField[strField][tMatches;sField]
$tMatches[^strField.match[^^(\w+)[\.]?][']]
^if(def $tMatches.1){
^if(!def $sField){
$sField[$strField]
}
$result[^hash::create[]]
$result.[$tMatches.1][^self._parseFormField[$tMatches.postmatch]]
}{
$result[$form:tables.[$sField]]
}
#end @_parseFormField[]НО результата я не добился... Т.к. мне нужно еще и присвоить значение в хэше.$.about[ $.config[ $.name[ЗДЕСЬ ЗНАЧЕНИЕ ИЗ $form:tables.[about.config.name]] ] ]