parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Я когда-то сделал себе класс для группировки

max_rip 23.06.2015 17:11

Он работает аналогично php когда добавляются name[id]. Удобно когда много табличных динамичных данных.
А то раньше приходилось всякие костыли использовать с скрытыми input, в которых хранились id, а дальше добавлялись префиксами к названиями.
@CLASS
serialForm

@getData[][names]
	$self.data[^hash::create[]]
	$hBlackList[$.action[1]]
	$oRegex[^regex::create[\^[([^^\^]]+)\^]][g']]
	^form:fields.foreach[field;value]{
		^if(!def $hBlackList.$field){
			^self.parseData[$field;$value]
		}
	}
	$result[$self.data]
	
@parseData[field;value][t;h]
$t[^field.match[$oRegex]]
^if(def $t.prematch){
	$h[^create[$self.data;$t.prematch]]
	^t.menu{
		^if(^t.line[] == $t){
			$h.[$t.1][$value]
		}{
			$h[^create[$h;$t.1]]
		}
	}
}{
	$self.data.[$field][$value]
}


@create[h;k]
^if(!($h.$k is "hash")){
	$h.[$k][^hash::create[]]
}
$result[$h.$k]