| Новости | FAQ | Авторы | Документация | В действии | Библиотека | 
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум | 
Дмитрий 09.05.2010 16:39
Пытался воссоздать ошибку - http://www.parser.ru/forum/?id=72572@get_options[h_params]
$h_params[^hash::create[$h_params]]
$result[^oSql.table{
	SELECT 
		option_id,
		option_name,
		option_value,
		option_event_id
	FROM 
		events_options
	^if(def $h_params.where){
		WHERE $h_params.where
	}
}]
@get_event_options[i_event_id][locals]
$t_options[^get_options[
	$.where[
		... куча условий, которые плодили дубликаты...
	]
	$.order_by[option_event_id DESC, option_id ASC]
]]
$result[^table::create{option_name	option_value}]
^t_options.menu{
	^if($t_options.option_event_id == ^i_event_id.int(0) || ($t_options.option_event_id == 0 && !^result.locate($result.option_name eq $t_options.option_name))){
		^result.append{$t_options.option_name	$t_options.option_value}
	}
}В итоге у меня формировалась примерно такая табличка option_name option_value title_comment Задать вопрос title_comment_text Вопрос title_comment_name Ваше имя title_comment_city Город comments_descriptionПонятно, что значение параметра comments_description отсутствовало, но почему то не создавался tab с пустым значением. Из-за этого парсер падал.
@page[]
$t_options[^get_event_options[$t_event.event_id]]
$h_options[^t_options.hash[option_name][option_value][$.type[string]]]
^comments[$h_options]
@comments[h_options]
^if(def $h_options.comments_description){
	$h_options.[comments_description]
}