Шаблон (файл .htt)

Шаблон .htt заголовок, тело и окончание, и может также содержать часть (ELSE) для случая, когда SELECT не возвращает ни одной записи.

Тело находится между тегами <#@> и <#/@>.

Все, что находится до <#@> считатется заголовком. Заголовок содержит примерно такой текст: <table>

Затем <#@> тег открывает тело. Тело- это повторяемые поля для одной строки со следующими тегами: <#f NAME="ИМЯПОЛЯ "..> Атрибуты используются для форматирования страницы/таблицы.

Окончание следует за закрывающим тегом <#/@>, содержит примерно такой текст: </table> Если Вы хотите специальным образом информировать пользователя о том, что SELECT не вернул ни одной записи, укажите перед тегом <#/@> тег <#!@> и поместите между ними необходимое оповещение.

Если нужно вывести поля для редактирования внутри шаблона , используйте соответствующие теги <INPUT>.

Ограничения: В теле (между тегами <#@> и <#/@>( или<#!@>) ), в заголовке и в окончании можно указывать теги <#p>. Теги <#f> можно использовать только внутри тела. Внутри ELSE (между тегами <#!@> тег <#/@>) ни один из тегов <#> не работает.

Запрос SQL (файл .sql)

В запросе SQL параметры передаются со знаком ":":

:PARAMETER

Семейство не надо указывать, только имя параметра.

Знак двоеточия ":", если его надо поставить в запросе, можно ввести двумя знаками двоеточия "::".

Специальные параметры начинаются со знака "$". Например, параметр ":$FROM" подставляет в запросе значение ip адреса клиента. Имена специальных параметров перечислены в описании тега <#A name=sys> и <#A name=ip>

Файл .par

Файл параметров позволяет задать простые подстановки в параметры. При этом параметр разбивается на слова, и каждое слово участвует в 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, минимальная длина слова в параметре не проверяется.