Шаблон .htt заголовок, тело и окончание, и может также содержать часть (ELSE) для случая, когда SELECT не возвращает ни одной записи.
Тело находится между тегами <#@> и <#/@>.
Все, что находится до <#@> считатется заголовком. Заголовок содержит примерно такой текст: <table>
Затем <#@> тег открывает тело. Тело- это повторяемые поля для одной строки со следующими тегами: <#f NAME="ИМЯПОЛЯ "..> Атрибуты используются для форматирования страницы/таблицы.
Окончание следует за закрывающим тегом <#/@>, содержит примерно такой текст: </table> Если Вы хотите специальным образом информировать пользователя о том, что SELECT не вернул ни одной записи, укажите перед тегом <#/@> тег <#!@> и поместите между ними необходимое оповещение.
Если нужно вывести поля для редактирования внутри шаблона , используйте соответствующие теги <INPUT>.
Ограничения: В теле (между тегами <#@> и <#/@>( или<#!@>) ), в заголовке и в окончании можно указывать теги <#p>. Теги <#f> можно использовать только внутри тела. Внутри ELSE (между тегами <#!@> тег <#/@>) ни один из тегов <#> не работает.
В запросе SQL параметры передаются со знаком ":":
:PARAMETER
Семейство не надо указывать, только имя параметра.
Знак двоеточия ":", если его надо поставить в запросе, можно ввести двумя знаками двоеточия "::".
Специальные параметры начинаются со знака "$". Например, параметр ":$FROM" подставляет в запросе значение ip адреса клиента. Имена специальных параметров перечислены в описании тега <#A name=sys> и <#A name=ip>
Файл параметров позволяет задать простые подстановки в параметры. При этом параметр разбивается на слова, и каждое слово участвует в sql запросе самостоятельно там, где это указывается символами %s.
Например, параметр :WORDS описан в файле .par так:
WORDS=" ( W.WWORD LIKE UPPER("%s") ) "
WORDS delimiter=" AND "
WORDS %chars="~.*"
WORDS min=3
WORDS empty=" ( W.WWORD LIKE "ENSEN" ) "
Допустим, параметр WORDS равен "слово1 слово2~ 12". Параметр разбирается на слова и заменяется на sql выражение
( W.WWORD LIKE UPPER("слово1") AND ( W.WWORD LIKE UPPER("слово2%")
Обратите внимание, знак тильды заменен на знак %, а слово 12 отброшено как короткое (короче 3 символов)
Теперь, если параметр WORDS пустой или, например, все слова оказадись короче трех символов, то в sql выражение будет добавлено выражение, заданное в строке WORDS empty:
(W.WWORD LIKE "ENSEN")
Описание строк
Строка в файле .par | Значение | Замечание |
ПАР=" | %s - вставка параметра | * |
ПАР delimiter= | Соединитель конструкций в sql выражении (обычно _AND_) | * ? |
ПАР %chars | Перечисление символов, вместо которых в sql выражение будут подставляться символы "%" | * |
ПАР min | Минимально допустимая длина слова | # |
ПАР empty | Строка, подставляемая в случае если параметр пустой | * |
*Обязательны кавычки в начале и конце. Допустимы кавычки внутри строки (между начальной и конечной кавычками)
? Не забудьте про пробелы в начале и конце этой строки, если это необходимо, (например, "_AND_", где знаком "_" изображены пробелы для отделения в выражении sql.
# Длина слова больше нуля. Опустите эту строку, если не надо делать контроль за минимальной длиной слова в параметре. Если ПАР min меньше или равен 0, минимальная длина слова в параметре не проверяется.