2002-02-20 20:13:54 UTC
Считается хорошим тоном, если вы в заголовке страниц кроме собственно названия страницы пишете полный путь, к ней начиная от корня. Посетителю в таком случае, будет легче ориентироваться на вашем сайте.
Макрос, формирующий такие названия страниц, — очень похож на макрос из предыдущего примера (на самом деле лучше сделать один макрос делающий обе задачи) и поэтому здесь я просто приведу его код без подробных комментариев.
@navigation[title] title - это название страницы # Определяем переменную splt - разделитель между элементами строки навигации ^var[splt;>^;] # определяем переменную – название документа по умолчанию # здесь это index.html, но можно и любое другое значение ^var[default.doc;index.html] # создаем именованный контекст sections с названиями всех разделов сайта ^context[sections;^load[/путь/к/файлу/файл_с_описанием_разделов]] ^context[nav; # Разбиваем URI на составляющие и ими столбцы # текущего контекста ^lsplit[^env[PATH_INFO];/] # Делаем столбцы строками ^flip[nav] # Начинаем формировать переменную string - HTML код строки навигации ^var[string;<a href=/>Название сайта</a>] # Начинаем формировать переменую – uri раздела ^var[dir;/^item[0]/] # Начинаем формировать переменную title – заголовок страницы ^var[title;Название сайта ] ^menu[ # Переменная для определения следующего элемента URI ^var[next_row;^item[next;0]] ^context[sections; # Поиск для построенного каталога в контексте ^locate[dir;^var[dir]] # фиктивная переменная page – для определения того, является ли # следующий элемент страницей или нет? ^var[page;^findstr[html;^var[dir]]] ^if[^var[page] > 0; ^var[string;.; ^var[splt] $title] ^var[title;.; | $title] ; ^var[next;^findstr[^var[default.doc];^var[next_row]]] ^if[^var[next] < 0; ^var[string;.; ^var[splt] <a href=^var[dir]>^item[title]</a>] ^var[title;.; | ^item[title]] ;] ] ] ^var[dir;.;^item[next;0]/] ] ]
Данный макрос должен отработать до тегов <title>…</title>, далее полученную переменную title, являющуюся названием страницы просто вставляем между тегами <title>…</title> и получаем название каждой страницы с описанием полного пути к ней.