SiteMap 2.2.2 : HTML карта сайта


Модуль генерации HTML карты сайта для DLE, позволит вывести ненумерованный список со ссылками на все публикации, категории и статические страницы. Содержит визуальный генератор кода для вставки. В нём имеется детальная настройка принципа вывода всех элементов сайта - новости, категории, статические страницы - количество выводимых элементов, принцип сортировки и порядок сортировки, отображение элементов в виде ссылки или простым текстом, возможность включить/исключить конкретные элементы.


Особенности:
  • модуль полностью кешируется.
  • модуль использует API DLE.
  • в карте не выводятся публикации, не прошедшие модерацию, а так же запланированные на будущее.
  • учитывается наличие/отсутствие ЧПУ, а так же тип ЧПУ.
  • предусмотрена такая тонкость – если кто давно работает с движком DLE, то помнит, что в ранних версиях вообще не было ЧПУ, а потом оно появилось, но только одного типа (такого же, как сейчас формируется тип 3). Так вот это тоже предусмотрено в данном модуле — новые публикации выводятся с url’ом, тип ЧПУ которого выбран в админке, а старые, соответственно, с url’ом ЧПУ старого типа.

Модуль вставляется в шаблон main.tpl с помощью тега:
{include file="engine/modules/sitemap.php?param1=value1&m2=value2"}

param1= - параметр модуля, value1 - значение параметра. Настройки модуля следуют после знака ? и разделены знаком &.

Пример вставки (выводит карту сайта со списком статических страниц и новостями из категорий с id=2,3,4):
[not-aviable=sitemap]{content}[/not-aviable]
[aviable=sitemap]{include file="engine/modules/sitemap.php?show_static=1&need_cats=2,3,4"}[/aviable]

Для того, чтобы карта сайта отображалась на отдельной странице, тег {include ...} необходимо заключить в [aviable=sitemap][/aviable], а тег {content} заключить в [not-aviable=sitemap][/not-aviable].

Важно: после любых изменений параметров и их значений необходимо очищать кеш в админпанели.

Параметры модуля, передаваемые через tpl при вставке:
  • need_cats - список id категорий через запятую для вывода в карте.
  • exc_cats - список id категорий через запятую, исключаемых из карты.
    ↳ данные параметры бессмысленно указывать одновременно.
  • need_news - список id статей через запятую для вывода в карте.
  • exc_news - список id статей через запятую, исключаемых из карты.
    ↳ данные параметры бессмысленно указывать одновременно.
  • need_static - список id статических страниц через запятую для вывода в карте.
  • exc_static - список id статических страниц через запятую, исключаемых из карты.
    ↳ данные параметры бессмысленно указывать одновременно.
  • cats_as_links - показывать названия категорий как ссылки (1 или 0).
  • show_static - отображать в карте статические страницы (1 или 0).
  • cats_sort - поле сортировки списка категорий (поле из таблицы dle_category).
  • cats_msort - направление сортировки списка категорий (ASC или DESC).
  • news_sort - поле сортировки списка статей (поле из таблицы dle_post).
  • news_msort - направление сортировки списка статей (ASC или DESC).
  • static_sort - поле сортировки списка статических страниц (поле из таблицы dle_static).
  • static_msort - направление сортировки списка статических страниц (ASC или DESC).
    ↳ возможны 2 варианта направления сортировки:
  • ASC - по возрастанию (по алфавиту).
  • DESC - по убыванию (в обратном порядке).
    ↳ если поле и порядок сортировки не указаны - используются заданные настройки категорий или стандартные параметры DLE.
  • cats_limit - максимальное количество выводимых подкатегорий.
  • news_limit - максимальное количество выводимых статей из категории.
  • static_limit - максимальное количество выводимых статических страниц.

Заметьте - ни одна из приведенных выше настроек не является обязательной, можно вообще ничего не указывать. Например, чтобы использовать настройки по умолчанию достаточно просто вставить строку:
{include file="engine/modules/sitemap.php"}

Внешний вид и классы стилей карты сайта:
Опционально предусмотрено изменение внешнего вида карты сайта. Для этого следует открыть файл стилей своего шаблона и прописать CSS классы карты сайта, перечень которых указан ниже:
.sitemap_categories - элемент <ul> списка категорий
.sitemap_categories li - элемент <li> списка категорий
.sitemap_items - элемент <ul> списка статей
.sitemap_items li - элемент <li> списка статей
.sitemap_static_pages - элемент <ul> списка статических страниц
.sitemap_static_pages li - элемент <li> списка статических страниц
.root - класс для вышеперечисленных элементов, находящихся в корне списка
.sitemap_categories a - элемент <a> c названием категории
.sitemap_categories span - элемент <span> c названием категории
.sitemap_items a - элемент <a> c названием статьи
.sitemap_static_pages a - элемент <a> c названием статической страницы

Установка:
1. Скопировать содержимое архива (кроме /templates/) на сервер.

2. Содержимое templates/Default/ поместить в папку своего шаблона.

3. Запустить http://site.ru/sitemap_installer.php и следовать инструкциям, после удалить sitemap_installer.php с сервера.

4. Зайти в админпанель, выбрать модуль SiteMap и с генерировать код.

5. Открыть main.tpl своего шаблона и найти:
{content}

Заменить на:
[not-aviable=sitemap]{content}[/not-aviable]
[aviable=sitemap]*сюда вставьте код, сгенерированный в админке*[/aviable]

6. Открыть .htaccess, который лежит в корне и найти:
RewriteEngine On

Добавить ниже:
# Карта сайта
RewriteRule ^sitemap(/?)+$ /?do=sitemap [L]

7. Открыть engine/engine.php и найти:
$metatags = <<<HTML

Добавить выше:
if ($do == 'sitemap') {
	$nam_e = "Карта сайта";
	$metatags['title'] = "Карта сайта {$config['home_title']}";
	$metatags['description'] = "Карта сайта {$config['description']}";
	$canonical = '';
}

Готово!

sitemap-2_2_2-html-karta-sajta.zip
Создайте аккаунт или авторизуйтесь для скачивания

Модификация от byroot для DLE 13.2-15.2:
sitemap-2_2_2-html-karta-sajta-13_2-15_2.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 8.2-10.6, 13.2-15.2
Кодировка: utf-8
Автор: АлаичЪ
Модификация: byroot
Источник

Примечание от Oxigen: Добавлена модификация от byroot

Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.