Экстраполя служат для дополнения определенными данными какие-либо сущности на сайте. Например у нас есть страницы и к ним нужно добавить новый параметр и при этом чтобы была возможность его редактирования через форму. Для этого мы заходим в админ-панель и выбираем раздел управления экстраполями для страниц, задаем идентификатор экстраполя, его название, тип элемента формы для него и другие параметры. Кроме того экстраполями можно дополнить любую таблицу в базе данных фреймворка.

Типы экстраполей:

input
inputint
currency
double
textarea
select
radio
checkbox
datetime
country
range
checklistbox
file

 

Все программные методы для управления и вывода экстраполей находятся в файле system/extrafields.php:

1. cot_build_extrafields($name, $extrafield, $data)

Данная функция позволяет выводить экстраполе в форме для редактирования данных.

$name - идентификатор экстраполя
$extrafiels - параметры экстаполя
$data - значение экстраполя

 

2. cot_import_extrafields($inputname, $extrafield, $source='P', $oldvalue='')

Позволяет получить значение экстраполя отправленное через форму.

$inputname - идентификатор переменной формы
$extrafield - параметры экстраполя
$source - метод передачи данных через форму P или G (POST, GET соответственно)
$oldvalue - предыдущее значение экстраполя перед отправкой через форму (если необходимо)

 

3. cot_build_extrafields_data($name, $extrafield, $value, $parser = '')

Получение значения экстраполя для вывода.

$name - идентификатор экстраполя,
$extrafield - параметры экстраполя,
$value - значение экстраполя,
$parser - тип парсера для экстраполя с типом поля textarea

 

4. cot_default_html_construction($type)

Получение html-конструкции для заданного типа поля (input, textarea и т.д.).

 

5. cot_extrafield_add($location, $name, $type, $html='', $variants='', $default='', $required=false, $parse='HTML', $description='', $params = '', $enabled = 1, $noalter = false, $customtype = '')

Создание (регистрация) экстраполя в базе данных со всеми необходимыми параметрами.

$location - расположение (таблица в базе данных где будет создано экстраполе. Например: pages, com, projects, и т.д.),
$name - идентификатор экстраполя,
$type - тип экстраполя (input, textarea, checkbox, select, radio, и т.д.),
$html='' - используемый ресурс-шаблон,
$variants='' - варианты для множественных типов (select, checkbox и т.д.),
$default='' - значения по-умолчанию,
$required=false - обязательное для заполнения или нет,
$parse='HTML' - тип парсера для textarea,
$description='' - Описание экстраполя,
$params = '' - параметры для некоторых типов экстраполей (select, checkbox и т.д.),
$enabled = 1 - Включить/выключить экстраполе,
$noalter = false - Не добавлять новое поле в БД, только зарегистрировать как дополнительное. Если отметить как true то поле не будет создано в таблице назначения, а просто будет создано как дополнительное. Данные при этом не будут сохраняться в таблице назначения,
$customtype = '' - кастомный (собственный) тип экстраполя.

 

6. cot_extrafield_update($location, $oldname, $name, $type, $html='', $variants='', $default='', $required=0, $parse='HTML', $description='', $params = '', $enabled = 1, $customtype = '')

Изменение параметров экстраполя в базе данных.

 

7. cot_extrafield_remove($location, $name)

Полное удаление экстраполя из базы данных.

 

8. cot_import_filesarray($file_post)

Получение данных о загружаемом файле из массива $_FILES.

 

9. cot_extrafield_movefiles()

Удаление всех файлов загруженных через экстраполя с типом "file".

 

10. cot_extrafield_unlinkfiles($fielddata, $extrafield)

Удаление файла загруженного через экстраполе с типом "file".

 

11. cot_load_extrafields($forcibly = false)

Получение массива всех экстраполей и сохранение их в кэше.

 

 

 

Если вы не нашли ответа на свой вопрос, то можете задать его на форуме.