parser

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

 

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

Ответ

Anti 14.03.2003 23:30

1. У тебя в объявлении полей $items стоит dir, а в коде смотришь $items.uri

2. вот/те/бе/на/за/кус/ку/то/ка/же/вать/не/за/му/чай/ся - если у тебя такой uri, то что-то у тебя со структурой сайта не то

2.5 Как бы то ни было, в этом коде у тебя все равно menu идет от начала до конца, а ^parts.offset[set](-1) вещь абсолютно бесполезная, так как ты все время попадаешь в последний кусок урла (скажем "ся"), независимо от того, в каком месте произошел сбой.

3. Если уж делать выход то приблизительно так (просто набросок, без каких либо претензий...)
$parts[^uri.split[/]]
$current_id[0]
^while(^parts.offset[] < ^parts.count[] && !def $not_found){
	^if(^items.locate($items.dir eq $parts.piece && $items.parent_id eq $current_id)){
		$current_id[$items.id]
	}{
		$not_found[1]
	}
	^parts.offset(1)
}
4. Хотя есть все-таки идея делать разбор урла до конца и сбойный участок пытаться поправлять автоматически (вдруг опечатались в одну букву или нужен какой-то залихватский редирект сделать).