Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

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

Дата публикации: 04-08-2026 04:10:54

На 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 );

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1DLE Native Forum (Nexus Ultimate Core) - форум для DLE014.2211-05-2026
2Сортировка категорий в catmenu по ID в нужном порядке04.2705-07-2026
3В работе "ВКонтакте" произошел сбой0002-06-2023
4BBCode редактор для DLE 18+013.2605-07-2026
5Пользователи сообщают о сбое в работе Instagram0003-06-2019
6"ВКонтакте" восстановила работу после кратковременных неполадок0019-12-2020
7Пользователи Zoom в США и европейских странах сообщают о сбое в работе сервиса0009-09-2020
8unknown CUDA errors (cuEventSynchronize(), cuMemFree(), ...)017.2313-08-2026
9Более 3 тыс. пользователей Telegram сообщили о сбоях в работе сервиса0004-01-2021
10В работе "ВКонтакте" произошел сбой0019-10-2021

Классификация: Общество. Схожих патентов: 0. Схожих новостей: 10. Тональность: -1. Информативность: 8.32. Источник: byroot.ru.