nc_load_multifield( $field_id, $message, $template = null )
инициализирует объект призвольного поля мультифайла
Добавлено в FB #1429
| Параметр | Описание |
|---|---|
| $field_id | номер поля |
| $message | номер объекта/записи |
| $template | шаблон отображения |
Получить данные о файлах в действии после добавления/изменения:
$f_Slider = nc_load_multifield(2367, $message); $files_data = $f_Slider->to_array();
Массив $files_data будет содержать объекты с данными о файлах
Наложить водяные знаки:
foreach($files_data as $file_object) {
$photo_path = $DOCUMENT_ROOT . $file_object->Path;
if(!is_file($photo_path)) continue;
nc_ImageTransform::putWatermark_file($photo_path, '/netcat_files/watermark.png', 0);
}
Вывести слайдер в макете:
$f_Slider_tpl = array(
'prefix' => "<div>",
'record' => "<div>
<a href='%Path%'><img src='%Preview%' alt='' /></a>
</div>",
'divider' => '',
'suffix' => '</div>',
);
echo nc_load_multifield(2367, 11, $f_Slider_tpl);
Для версии без этой функции(4.72 - 5.4FB #1429) можно использовать функцию nc_load_multifield_tmp(), добавьте ее в модуль разработчика:
/**
* Инициализирует объект произвольного поля мультифайла(4.72 совместимая версия)
* @param type $field_id - номер поля
* @param type $message - номер объекта/записи
* @param type $template - шаблон отображения
* @return \nc_multifield|null
*/
function nc_load_multifield_tmp($field_id, $message, $template = null) {
$field_id = (int) $field_id;
$message = (int) $message;
$db = nc_Core::get_object()->db;
$field = $db->get_row("SELECT `Field_Name`, `Description`, `Format` FROM `Field` WHERE `Field_ID` = ".$field_id, ARRAY_N);
if (empty($field)) return NULL;
$SQL = "SELECT Name, Size, Path, Field_ID, Preview, ID, Priority
FROM Multifield
WHERE Field_ID = " . $field_id . "
AND Message_ID = " . $message . "
ORDER BY `Priority`";
$field_data = (array) $db->get_results($SQL);
$field_object = new nc_multifield($field['Field_Name']);
if (!empty($field_data)) {
$field_object->set_data($field_data);
}
if ($template) {
$field_object->template->set($template);
}
return $field_object;
}
Комментарии 2