Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получаем список страниц для DLE движков при помощи PHP

Автор: Акшонин Виталий
1 декабря 2011 года

Для чего это нужно?

А нужно это для следующих случаев:

  1. При индексации вашего сайта биржей ссылок sape.ru или другими биржами в зачет идут только страницу первого, второго и третьего уровня. Если статья находиться на 12 странице то она не будет проиндексирована и вы не сможете продавать с ней ссылки;
  2. Стандартный способ вывода ссылок в DLE это отображение первых 10 ссылок страниц и последней страницы и это не всегда удобно посетителям, чтобы добраться до 20 странице придется четыре раза выбрать страницу из предложенных: 10, 14, 18, 20. С полным списком страниц навигация значительно упрощается.

Настраиваем работу PHP на движке

В файле index.php заменяем

Код:
$tpl->compile('main');

на

Код:
#echo $tpl->result['main'];
eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');
$tpl->global_clear();
$db->close();

Если все сделали правильно у вас в любом мессе вывода информации пишите

Код:
<?php echo "Test"; ?>

В том месте должен, соответственно появится текст «Test».

Выводим полный список страниц

Пишу полный под, далее дам расшифровку что и зачем делалось

Код:
<?php
$url = $_SERVER['REQUEST_URI'];
$b = explode("/", $url);
if ($b[1] == "index.php" or $b[1] == "" or $b[1] == "page")
{
    echo "<font style=\"font-size: 6px;\">";
    echo "Все страницы:<br>";
    $all_page = ceil($count_all / $config['news_number']);
    for ($a = 1; $a <= $all_page; $a++)
    {
        echo "<a href=\"http://SITE.ru/page/".$a."\">".$a."</a> ";}
        echo "</font>";
    }
?>
  1. получаем адрес текущей страницы ($_SERVER);
  2. раскладываем его на директории (explode);
  3. вводим условие, что если директория index.php или page или главная страница будем выводить полный список, если эта какая-либо другая страница, список выводить не будем. Можете сами добавить необходимые страницы на которых хотите сделать вывод;
  4. получаем количество страниц ($all_page) делим общее количество новостей на количество новостей на одной страницы, переменные $count_all  и $config['news_number'] стандартные их кода DLE;
  5. создаем цикл от 1 до полного количества страниц с шагом 1;
  6. в теле цикла выводим ссылку с номером страницы.

Полученный результат

На моем сайте результат работы крипта выглядит так:

Чтобы лучше понять как это реализовано на практике смотрим http://carnovosti.ru/, список всех страниц в левом блоке.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог