parser

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

 

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

Приведу весь код, он не большой..

apostol_Alabamus_xz_pass 01.11.2004 21:40

# Метод умеет не ставить ссылки на текущую страницу.
# если задан $url - то делает ссылку с параметрами $params
# если $url не задан или равен текущему адресу, ссылка не ставится
# $tags ставит вокруг неактивной ссылки разметку b, i, u или css стиль.

@cms_href[url;label;params;tag][lbl;url_nohtm]

$lbl[^if(def $label){$label}{$url}]

# ищем в линке слово htm но без "?", дабы не попутать параметры form, и если есть такой линк, выесняем его расположение
	^if(def ^url.match[(index.htm)] && !def ^url.match[(\?)]){
		$url_nohtm[^file:dirname[$url]/]
	}

# линк ставится если: определён адрес, $url_nohtm или $url не равно текущиему $request:uri.
^if(def $url && ($url_nohtm ne $request:uri || $url ne $request:uri)){
	$result[<a href=$url^if(def $params){ $params}>$lbl</a>
$url_nohtm ne $request:uri || $url ne $request:uri
]
}{
	^if(def $tag){$result[<$tag>$lbl</$tag>]}{$result[$lbl]}
}

#end @href[]
Вот как он сравнивает. Совпадения есть, а линк ставит.
Управление блоками /admin/blocks/ ne /admin/blocks/index.html || /admin/blocks/index.html ne /admin/blocks/index.html 
Добавить новый блок ne /admin/blocks/index.html || /admin/blocks/index.html?manager=createblock ne /admin/blocks/index.html