8.08.14, 22:44
1 комментарий
  DLE Модули

Случайные новости для 9.4-10.x

Модуль Случайные новости может выводить новости в случайном порядке. Его можно настраивать как стандартный модуль топ новостей (topnews), так как сделан он на его основе. Основное отличие от представленных ранее модулей, этот позволяет выводить нужное количество новостей из категорий id которых вы укажите. Новости можно выводить с картинками, ссылкой и любыми данными.

Модуль выполнен в качестве отдельного скрипта, позволяющий не конфликтовать с модулем популярных новостей. В модуле перенесен тот же шаблонизатор, что и в модуле TopNews, то есть Вы сможете использовать те же самые теги, что применяете в файле topnews.tpl и для файла randnews.tpl.

Установка:
1. Загрузите все из папки Uploads на свои сервер, предварительно переименовав папку template/Default под свои шаблон.

2. Откройте файл index.php и после строки:

$tpl->set ( '{vote}', $tpl->result['vote'] );


Ниже добавьте:

$tpl->set ( '{randnews}', $tpl->result['randnews'] );


3. Откройте файл engine/init.php и найдите в ней строку:

if ($config['allow_topnews'] == "yes") include_once ENGINE_DIR . '/modules/topnews.php';


Ниже добавьте:

if ($config['allow_randnews'] == "yes") include_once ENGINE_DIR . '/modules/randnews.php';


4. Откройте файл engine/inс/options.php и найдите в ней строку:

showRow( $lang['opt_sys_toc'], $lang['opt_sys_tocd'], makeDropDown( array ("yes" => $lang['opt_sys_yes'], "no" => $lang['opt_sys_no'] ), "save_con[allow_topnews]", "{$config['allow_topnews']}" ) );


Ниже добавьте:

showRow( $lang['opt_sys_rand'], $lang['opt_sys_tocd'], makeDropDown( array ("yes" => $lang['opt_sys_yes'], "no" => $lang['opt_sys_no'] ), "save_con[allow_randnews]", "{$config['allow_randnews']}" ) );


5. Откройте файл language/Russian/adminpanel.lng и после строки:

'opt_sys_toc'		=>	"Включить вывод самых рейтинговых статей на сайте",


Ниже добавьте:

'opt_sys_rand'		=>	"Включить вывод случайных новостей на сайте",


6.В нужном месте шаблона вставьте тег:

{randnews}


7. В настройках системы:

Админка-> настройка системы -> Оптимизация запросов к БД -> Включить вывод случайных новостей на сайте (Да/Нет)


Включите модуль, для того чтобы инициализировать его в конфигурации DLE.

Внимание: Нужно нажать сохранить в любом случае, даже если в настройках указано, что модуль включен.
Это нужно для того чтобы система создала запись в конфигурационном файле Dle. Если же там записи нет, модуль ни чего выводит не будет.

Готово!

Примечания:
1. Шаблонизатор в файле randnews.tpl работает абсолютно так же, как и в модуле популярных новостей TOP NEWS.

2. Если требуется изменить количество выводимых случайных новостей, то откройте файл engine/modules/randnews.php и в самом начале найдите строку:

ORDER BY RAND() LIMIT 0,5


где 5 - это количество выводимых новостей в блоке.

3. Чтобы задать категорию, нужно заменить это:

$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE approve=1 ORDER BY RAND() LIMIT 0,1" );


На это:

$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE approve=1 AND category=8 ORDER BY RAND() LIMIT 0,1" );


где 8 - id категории.

Версия DLE: 9.4-10.x
Автор: Scorpio

Комментарии

  1. JuliusVlad 13 августа 2014 23:48                    

    Зачем если можно вывести с помощью custom

Напишите своё мнение