На DLE-faq был подобный запрос. Потом нашёл ответ на зерокуле, но проблема в том, что предложенный код на зерокуле - не работает, и всегда отображал количество загруженных фото/видео - 1. Обновил код, проверил на DLE 20.0 - всё работает, и выводит правильное количество загруженных медиа в доп поле типа галерея.

На DLE-faq был подобный запрос. Потом нашёл ответ на зерокуле, но проблема в том, что предложенный код на зерокуле - не работает, и всегда отображал количество загруженных фото/видео - 1. Обновил код, проверил на DLE 20.0 - всё работает, и выводит правильное количество загруженных медиа в доп поле типа галерея.
Установка. Найти код
$tpl->compile( 'content', true, false );
Добавить выше:
if (!function_exists('zcp_count_xfield_gallery')) {
function zcp_count_xfield_gallery($value) {
$value = trim((string) $value);
if ($value === '') {
return 0;
}
// Данные в imagegalery хранятся через запятую
// Каждый элемент может содержать описание и путь к файлу через |
// Например: "image1.jpg,image2.jpg" или "description1|image1.jpg,description2|image2.jpg"
// Разбиваем по запятой
$items = explode(',', $value);
$count = 0;
foreach ($items as $item) {
$item = trim($item);
if (empty($item)) continue;
// Проверяем, есть ли разделитель |
if (strpos($item, '|') !== false) {
$parts = explode('|', $item);
// Последняя часть - это путь к файлу
$file = end($parts);
if (!empty($file)) {
$count++;
}
} else {
// Это просто путь к файлу
$count++;
}
}
return $count;
}
}
// Получаем данные xfields
$xfieldsdata = DLEXFields::xfieldsdataload($row['xfields']);
// Для поля типа imagegalery с именем "photos"
$tpl->set('{xfcount_photos}', zcp_count_xfield_gallery($xfieldsdata['photos'] ?? ''));
//$tpl->set('{xfcount_videos}', zcp_count_xfield_gallery($xfieldsdata['videos'] ?? ''));
Тег для видео я закомментировал, проверку делал только на количество загруженных изображений.
Или можно скачать плагин, и прописать свои доп поля вместо photos и videos.
Вариант 2 (TeraMoune) 🔗
Имя файла: engine/classes/xfields.class.php
Найти:
if (count($gallery_single_image)) {
Добавить выше:
$tpl->set( '{xf_count_'.$value['name'].'}', $xf_image_count );
Найти:
if (count($playlist_single)) {
Добавить выше
$tpl->set( '{xf_count_'.$value['name'].'}', $xf_playlist_count );
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | DLE Native Forum (Nexus Ultimate Core) - форум для DLE | 0 | 14.22 | 11-05-2026 |
| 2 | Сортировка категорий в catmenu по ID в нужном порядке | 0 | 4.27 | 05-07-2026 |
| 3 | В работе "ВКонтакте" произошел сбой | 0 | 0 | 02-06-2023 |
| 4 | BBCode редактор для DLE 18+ | 0 | 13.26 | 05-07-2026 |
| 5 | Пользователи сообщают о сбое в работе Instagram | 0 | 0 | 03-06-2019 |
| 6 | "ВКонтакте" восстановила работу после кратковременных неполадок | 0 | 0 | 19-12-2020 |
| 7 | Пользователи Zoom в США и европейских странах сообщают о сбое в работе сервиса | 0 | 0 | 09-09-2020 |
| 8 | unknown CUDA errors (cuEventSynchronize(), cuMemFree(), ...) | 0 | 17.23 | 13-08-2026 |
| 9 | Более 3 тыс. пользователей Telegram сообщили о сбоях в работе сервиса | 0 | 0 | 04-01-2021 |
| 10 | В работе "ВКонтакте" произошел сбой | 0 | 0 | 19-10-2021 |