Автор Тема: Количество новостей в категории DLE  (Прочитано 74 раз)

0 Пользователей и 1 Гость просматривают эту тему.

shans5Автор темы

  • *
  • *
  • Оффлайн
  • Награды Более 4000 сообщений Более 4 лет на форуме !!! Топ 10 по созданным темам Топ 10 по сообщениям Более 1000 созданных тем Репутация более 50 Бывает груб к участникам форума. За время в онлайне на форуме
  • Дата регистрации: Сен. 2015
  • Расположение: Регион 58
  • Возраст: 40
  • Сообщений: 4026
  • Страна: ru
  • Поблагодарили: 939 раз(а)
  • Репутация +78/-9
  • Пол: Мужской
  • Всё только начинается !!!
  • Дата рождения:1979-06-30
    • Награды
Счетчик добавленных новостей в определенную категорию. Хак - дополнение для DataLife Engine:

Нам нужен файл /engine/modules/main.php Открываем его и ищем строку:

$tpl->compile ( 'main' );

Выше вставляем следующее:

$tpl->copy_template = preg_replace_callback( "#{cat_all\:(.+?)}#is", function($data) use ($db, $config) {
    return catCountFunction($data, $config, $db); }, $tpl->copy_template );
$tpl->copy_template = preg_replace_callback( "#{cat_today\:(.+?)}#is", function($data) use ($db, $config) {
    return catCountFunction($data, $config, $db, true); }, $tpl->copy_template );

Теперь нам нужен файл /engine/modules/functions.php Открываем его и ищем строку:

function get_url($id) {

Выше вставляем:

function catCountFunction($cat_id, $config, $db, $curdate = false) {     $cat_ids = array();     if(substr_count($cat_id[1], ","))         $cat_ids = explode(",", $db->safesql(trim(strip_tags(stripslashes($cat_id[1])))));     else         $cat_ids[] = is_numeric($cat_id[1]) ? intval($cat_id[1]) : false;     if(!count($cat_ids)) return;     $cache_cat_news = false;     $cache_cat_news = dle_cache("news_acn" . intval($curdate), $config['skin'] . implode($cat_ids), false);         if ($config['allow_multi_category'])         $cat_query = "category regexp '[[:<:]](" . implode ( '|', $cat_ids ) . ")[[:>:]]'";     else         $cat_query = "category IN ('" . implode ( "','", $cat_ids ) . "')";     if (!$cache_cat_news)     {         if($curdate == false)             $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$cat_query}");         else             $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$cat_query} AND date LIKE '".date("Y-m-d")."%'");         $newscount = ($row['count'] > 0) ? intval($row['count']) : false;         if($newscount)             $cache_cat_news = $newscount;         create_cache("news_acn" . intval($curdate), $cache_cat_news, $config['skin'] . implode($cat_ids), false);     }     return ($cache_cat_news > 0 ? (($curdate == true) ? "+" : "") . $cache_cat_news : ""); }

Как это использовать?
Теперь нам доступны такие теги:

{cat_all:1} или {cat_all:1,2,3,4} - выведет количество новостей за все время с этих категорий.
{cat_today:1} или {cat_today:1,2,3,4} - выведет количество новостей за сегодня с этих категорий.
Подвергнуть критике, может любой.
Создать то,что будет подвергнуто критике,дано не каждому.
 
Теги:
 

Яндекс клеймо "смс мошенничество" у кого также?

Автор Rich-99000000Раздел Разговоры обо всём

Ответов: 7
Просмотров: 1006
Последний ответ 14 Октября 2016, 02:23:06
от Rich-99000000
Настройка количества слов для поиска XenForo 2 - Word Count Search 2.4.2

Автор shans5Раздел Модули (плагины) XenForo

Ответов: 0
Просмотров: 158
Последний ответ 11 Апреля 2019, 18:46:13
от shans5
Вывод количества ссылок в серфинге доступных для просмотра

Автор APTEMOHРаздел Разное для фруктовых ферм

Ответов: 5
Просмотров: 1089
Последний ответ 28 Ноября 2019, 21:21:49
от Belinda
Лотерея не по количеству участников, а по времени. У кого есть.

Автор sopik909Раздел Ищу (скрипты,модули,разное)

Ответов: 0
Просмотров: 141
Последний ответ 22 Декабря 2018, 19:32:39
от sopik909
Модуль выбора количества процента на вывод

Автор shans5Раздел Совместные покупки

Ответов: 7
Просмотров: 1956
Последний ответ 20 Марта 2016, 22:09:08
от shans5