Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Выбор количества новостей.
Скачать бесплатно Выбор количества новостей.
Данный модуль позволяет пользователям самим выбирать количество новостей, которые будут выводиться на странице.
В шаблоне выводится обыкновенный 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>
Фильмов на страницу: <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 - значения разрешенные для выбора./* Смена количества новостей на странице */
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'];
}
Открыть файл engine/engine.php
Найти строку:
$config['news_number'] = intval ( $config['news_number'] );
ПЕРЕД ней вставить:
////////////////////////////////////////////////////////////////////////////////////////
include_once ENGINE_DIR."/mods/news_number.php";
////////////////////////////////////////////////////////////////////////////////////////
include_once ENGINE_DIR."/mods/news_number.php";
////////////////////////////////////////////////////////////////////////////////////////
Найти строку:
$cache_prefix .= "_tempate_" . $config['skin'];
После нее вставить:
////////////////////////////////////////////////////////////////////////////////////////
$cache_prefix .= "_".$config['news_number'];
////////////////////////////////////////////////////////////////////////////////////////
$cache_prefix .= "_".$config['news_number'];
////////////////////////////////////////////////////////////////////////////////////////
Пример работы можно посмотреть на демо сайте
Истоник: sandev.pro
С уважением,
Олег Александрович a.k.a. Sander