| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
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