Выбор количества новостей для DLE

Выбор количества новостей

Выбор количества новостей

Данный модуль позволяет пользователям самим выбирать количество новостей, которые будут выводиться на странице.
В шаблоне выводится обыкновенный select и выглядит это примерно следующим образом:
Выбор количества новостей

Разумеется стили можно настроить как душе угодно.

В шаблоне используется код:
<form method="post">
	Фильмов на страницу: <select name="set_news_number" onchange="ShowLoading();$(this).parents('form').submit();">{include file="engine/mods/news_number.php?echolist=1"}</select>
</form>


Создать файл engine/mods/news_number.php с содержимым:
<?PHP
/* Смена количества новостей на странице */
if(!defined('DATALIFEENGINE'))die("Hacking attempt!");

$aviable_news_numbers = array(10,30,50,80,100);

if($echolist){
	foreach($aviable_news_numbers as $v){
		echo "<option".($v==$config['news_number']?" selected":"").">$v</option>";
	}
}else{
	if(isset($_POST['set_news_number']) AND in_array($_POST['set_news_number'],$aviable_news_numbers)) $config['news_number'] = $_SESSION['news_number'] = intval( $_POST['set_news_number'] );
	elseif(isset($_SESSION['news_number']) AND in_array($_SESSION['news_number'],$aviable_news_numbers)) $config['news_number'] = $_SESSION['news_number'];
}
где 10,30,50,80,100 - значения разрешенные для выбора.


Открыть файл engine/engine.php
Найти строку:
		$config['news_number'] = intval ( $config['news_number'] );

ПЕРЕД ней вставить:
////////////////////////////////////////////////////////////////////////////////////////
		include_once ENGINE_DIR."/mods/news_number.php";
////////////////////////////////////////////////////////////////////////////////////////

Найти строку:
			$cache_prefix .= "_tempate_" . $config['skin'];

После нее вставить:
////////////////////////////////////////////////////////////////////////////////////////
			$cache_prefix .= "_".$config['news_number'];
////////////////////////////////////////////////////////////////////////////////////////


Пример работы можно посмотреть на демо сайте

С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (12)
  1. foto
    VIP 21 мая 2016 23:34 #
    Вот бы ещё оформление такое как на xSort. Эх
    +2
    1. foto
      Администратор 29 мая 2016 01:01 #
      +1
  2. foto
    Посетитель 8 ноября 2016 21:10 #
    Было бы здорово сделать не select а input куда можно бы вводить значение самому, например от 1 до 99
    0
    1. foto
      Администратор 12 ноября 2016 19:06 #
      HTML:
      <form method="post">
      	Фильмов на страницу: <input type="number" min="1" max="100" name="set_news_number" value="{include file="engine/mods/news_number.php?echolist=1"}" />
      </form>



      PHP:
      <?PHP
      if(!defined('DATALIFEENGINE'))die("Hacking attempt!");
      
      $aviable_news_numbers = isset($_POST['set_news_number']) ? intval($_POST['set_news_number']) : 10;
      $aviable_news_numbers = min(100,max(1,$aviable_news_numbers));
      
      if($echolist) echo $aviable_news_numbers;
      elseif(isset($_POST['set_news_number'])) $config['news_number'] = $aviable_news_numbers;
      ?>
      +1
  3. foto
    VIP 8 января 2017 22:27 #
    А как сделать сортировку, которая стоит на демо сайте?
    0
    1. foto
      Администратор 9 января 2017 15:05 #
      0
      1. foto
        VIP 10 января 2017 08:22 #
        Так и думал))) Нужно будет взять))) Sander, а в подгрузке новостей нельзя сделать подгрузку через кнопку "Добавить еще" и оно будет к примеру будет добавлять 6 постов ну или сколько вписать... Как такое тут сделать?
        0
  4. foto
    Посетитель 5 февраля 2017 23:45 #
    Можешь пожалуйста подсказать как реализовать для такой конструкции?
    <li>12<i class="fa fa-caret-down"></i>
    							<ul class="sorting-list" style="display: none;">
    								<li>12</li>
    								<li>13</li>
    								<li>14</li>
    							</ul>
    						</li>
    0
  5. foto
    Посетитель 7 апреля 2017 01:38 #
    Здравствуйте. Подскажите, а на мобильной версии сайта модуль НЕ работает? у меня сбрасывает на количество страниц указанное в админке. Спасибо.
    0
  6. foto
    Посетитель 22 января 2019 11:08 #
    Здравствуйте, как ваши ничего? Уважаемый пожалуйста обновите код для актуальной версии движка. Попробовал пошаманить на DLE 13.1 (UTF-8) но что-то в книжке не правильный "заклятие", и такое чувство будто cookies не ловит или сбрасывает при выборе.... Спасибо)
    0
    1. foto
      Администратор 23 января 2019 14:14 #
      Тут не используется cookies. Проверил, установил на 13.1, все работает.
      Изменения в файлах необходимо вносить не вручную, а через утилиту управления плагинами в админке DLE.
      0
      1. foto
        Гость 8 октября 2019 00:46 #
        Здравствуйте. Не работает данный хак, просто перезагружает страницу и сбрасывает на первое значение, какое бы выбрано не было. Поправьте пожалуйста
        0
Добавить комментарий

Внимание! Все сообщения касающиеся техподдержки будут удалены или проигнорированы

Attention! All messages asking for technical support will be removed or ignored

  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2024.
При копировании, ссылка на источник обязательна.