Это механизм, которым можно строить граф ссылок между документами. Этот граф хранится в базе, а не в файлах, поэтому при апгрейде всее ссылки сохраняются.
virdir
Ссылки virdir
хранятся в таблице ispdb_www_subst
.
В первой колонке (root
) описывается документ,
где надо разместить ссылку.
Если этот документ - стандартный index.shtml
файл,
то в этой колонке содержится путь от корня документов сервера,
притом перед названием каждого каталога в цепочке каталогов
должен быть символ /
.
Например, если Вашу новую ссылку надо разместить
в корневом index.shtml
,
тогда в этой колонке должна содержаться строка нулевой длинны
(не NULL
и не /
).
Для помещения своей ссылки в каталог /sys/
в этом поле должна быть строка /sys
,
а в каталоге /sys/net/
Ваша ссылка будет помещена, если в колонке root
содержится строка /sys/net
.
В поле diri
приведена ссылка в том виде,
в каком будет представлена в документе. Она может быть относительная и абсолютная.
Например, _somepage.shtml
или
/net/_somepage.shtml
.
В частности, ссылка может быть включена в индекс не того каталога,
где размещен файл, на который эта ссылка.
В поле visi
приведен текст, которым
должна сопровождаться ссылка.
В поле rght
приведено право,
которым должен обладать клиент, что бы увидеть эту ссылку.
Если в этом поле NULL
,
то такую ссылку увидет каждый, кому доступен документ со ссылкой.
ВНИМАНИЕ: это право управляет только показом ссылки.
Право же доступа к ней контролируется функцией авторизации,
которая задается в настройках модуля mod_auth_pg
для Apache
и контекстом, который передается
этому модулю от сервера.
В поле prio
может быть задано какое либо целое число.
Когда выводится несколько ссылок через virdir
,
то они сортируются по этому полю.
Если надо вставить ссылку через virdir
в какой либо документ, кроме index.shtml
,
то правила примерно те же, но в поле root
вставляется путь документа от корня документов до имени файла без расширения.
Так, что бы вставить свой ссылку на учетный лист договора
(его URL /cl/client.shtml
) в этом поле
надо поместить /cl/client
.
Обратите внимание, не все документы выводят virdir
.
virdir
в своем документе
В своем .4tml
документе Вы можете вызвать
вывод virdir
, если разместите
вызов LIBEDIR/plugins/www/virdir "patsubst(DATADIR, WWWROOTDATA)"
в контексте sh
.
Ссылки выводятся <dl></dl> списком, но контекст
этого списка нужно организовать самостоятельно, при этом можно
в этот список вставить в начало и конец статические компоненты
при помощи макрокоманды dditem(ССЫЛКА, НАЗВАНИЕ ССЫЛКИ)
Например:
|
|
virdir
в sqlbang
Этот раздел приведен для полноты.
Пример sqlbang с virdir
:
|
'Параметр'
будет добавлен ко всем линкам, если задан, иначе линки будут без
параметра (как в предыдущих примерах).
'константа для "root"'
- это
та самая строка в колонке root
таблицы ispdb_www_subst
,
по которой выбираются элементы списка ссылок.
VIRDIR_PREPEND
- это декларативная
команда, она готовит среду для работы императивной команды
VIRDIR_SELECT
.