DataLife Engine / Хак «Диапазон времени для тега custom»

Хак «Диапазон времени для тега custom»

Хак Временной диапазон для тега custom
DLE хак «Диапазон времени для тега custom», позволит вам установить рамки по дате вывода новости, выборки, разрешение публикации в теге {custom ...}. Представляем на dle9.com полезней хак оформления даты в теге custom, который хорошо применим для вывода новостей архива, проведение конкурсов с чёткими сроками начала и конца.

Хак "Временной диапазон" для тега custom [DLE] позволяет устанавливать рамки дат для выборки и вывода новостей в теге {custom ...}. Может использоваться для архивного вывода новостей или проведение конкурсов с чёткими сроками начала и конца оного.

Применение:

Пример, где
ramki - выборка с 01.07 до 07.08 числа (включительно) текущего месяца.
Числа месяца, которые меньше 10, обязательно через 0.


{custom ramki="01.07-07.08" order="rating" }


Дополнительные теги custom смотрите в файле документации с движком архива dle140.zip/Documentation/readme.chm

Установка
Если будут ошибки кодом, повторите по инструкции в txt файле (прикреплён в конце поста), т.к. некоторые символы в браузере может съесть парсер request.

В файле engine/modules/functions.php ищем строку:

} else $days = 0;


После неё вставляем:

    if( preg_match( "#ramki=['"](.+?)['"]#i", $param_str, $match ) ) {
            if( count(explode('-', $match[1])) == 2 ) {
                $days = explode('-', $match[1]);
                $term1 = explode('.', $days[0]);
                $term2 = explode('.', $days[1]);
                
                $days[0] = date( "Y-{$term1[1]}-{$term1[0]} 00:00:00" );
                $days[1] = date( "Y-{$term2[1]}-{$term2[0]} 23:59:59" );
                $where[] = "p.date >= '{$days[0]}' AND p.date < '{$days[1]}'";
            }
    } else $days = 0;


DLE хаки скачать для управления выводом новостей по истечению срока, подойдет в проведение конкурсов или управлением по времени публикации стати, доступен хак по следующей ссылке

hak_diapazon-dat.zip [16,44 Kb] (cкачиваний: 30)
28-07-2020, 19:49
Вернуться назад