Актуальный релиз „DataLife Engine 20.0 Final“ buildid 109

подробнее о релизе

Главная страница / DataLife Engine / Плагины для DLE / Количество загруженных изображений/видео в доп поле типа галерея

Количество загруженных изображений/видео в доп поле типа галерея

04 августа 2026 | 11:10 | Вторник
11
0
[ Рейтинг: 0 / Голосов: 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.

kolichestvo-izobrazhenijvideo-v-dop-pole-galereja.zip [1.34 Kb] (cкачиваний: 0)


Вариант 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 );
Комментарии:
ℹ️
 

Модули для создания киносайта и не только на базе DataLife Engine, и многое другое...
Просто блог Евгения Попова, он же - byroot © 2015-2026 | Карта сайта