Функция Show_Field_Html
function Show_Field_Html(
$name, //название поля (которое пишется в name="...").
$type, //тип поля (английский). Подробнее о типах полей можно прочитать в статье "Типы полей".
$value="", //значение по умолчанию (которое пишется в value="...").
$rows=1, //количество строк для textarea: для всех полей, которые являются вводом строки (input type="text") - дополнительные параметры тэга и стили в виде html (например, size="20" style="font-weight:bold;").
$cols=30 //количество столбцов для textarea
);
Что делает функция
Функция получает в качестве параметров имя поля $name, тип поля $type, значение по умолчанию $value, количество строк $rows, количество столбцов $cols.
Функция возвращает html-код поля для ввода данных с именем $name и значением $value в зависимости от типа поля.
Для полей типа: "Фото", "Файл", "Сортировка", "Привязка к элементу раздела", "Привязка к разделу", "Привязка к любому элементу" функция не работает (возвращает 0).
Для всех указанных типов полей, кроме последнего, в файле engine/controllers/show_fields/show_fields.php есть аналогичные функции, и можно ознакомиться с их кодом.
Для вычислимых полей функция возвращает просто значение этого поля, поскольку вычислимые поля не предполагаются к вводу. (Если Вы не знаете, что такое вычислимые поля, можете просто пропустить эту информацию).
Для всех (не указанных выше) типов полей, кроме поля "Строка", "Текст", "Дата", "Дата и время" и "Да/нет" функция возвращает
<input type="text" name="$name" value="$value" $rows>
(если $rows=1, то этот параметр в конце не добавляется).
Для поля типа "Строка" - ровно та же ситуация, но если $rows не определено, то добавляется size="100".
Для поля типа "Текст" возвращается код
<textarea name="$name" cols="$cols" rows="$rows">$value</textarea>
Для поля типа "Да/нет" возвращается код
<input type="radio" name="$name" value="1" checked> Да <input type="radio" name="$name" value="0"> Нет
(в случае значения по умолчанию "Нет" checked переносится в правый input).
Для полей типа "Дата" возвращается код, состоящий из трёх select-ов (ИМЯпОЛЯ_y, ИМЯпОЛЯ_m, ИМЯпОЛЯ_d) с чёрточкой между ними. При этом корректность даты не отслеживается (т.е. можно ввести 31 февраля, например. Тогда в базе данных окажется 0000-00-00). Для года при этом выбираются значения от текущего года - 50 лет до текущего года + 50 лет включительно. Для месяца и дня, если они меньше 10, для соответствующего option в начало value добавляется 0.
Для полей типа "Дата и время" возвращается код, состоящий из шести разделённых select-ов (ИМЯпОЛЯ_y, ИМЯпОЛЯ_m, ИМЯпОЛЯ_d,ИМЯпОЛЯ_h, ИМЯпОЛЯ_i, ИМЯпОЛЯ_s). При этом корректность даты не отслеживается (т.е. можно ввести 31 февраля, например. Тогда в базе данных окажется 0000-00-00 00:00:00). Для года при этом выбираются значения от текущего года - 50 лет до текущего года + 50 лет включительно. Для месяца и дня, а также часов, минут и секунд, если они меньше 10, для соответствующего option в начало value добавляется 0, и в содержание option тоже добавляется 0.
Таким образом, функция возвращает html-код поля для ввода данных с именем $name и значением $value в зависимости от типа поля, либо 0, если для соответствующего типа поля существуют отдельные функции.
Файл, содержащий функцию
engine/controllers/show_fields/show_fields.php
|