Ошибки DLE при подключении модуля HTML-карты сайта

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

Если у вас движок версии 9.5, то все должно было подключиться и заработать без проблем, однако начиная с версии 9.6, у меня начались проблемы с подключением модуля карты сайта. Версии ниже 9.5 я не проверял.

Ошибка DLE:  Unknown column ‘flag’ in ‘field list’.

Первая проблема, с которой я столкнулся, появилась, начиная с версии DLE 9.6. Проблема заключалась в том, что в этой версии из базы данных было убрано поле «flag», а модуль в свою очередь пытается обратиться к этому полю, в связи, с чем возникает ошибка такого рода:

Ошибка DLE: MySQL Error

Видеокурс "Технические секреты групп Вконтакте" доступен для скачивания!

Не получается сделать меню в группе Вконтакте? Устали платить другим за добавление меню в Вашу группу? Хотели бы научится всем техническим тонкостям и экономить свои деньги? Тогда скачайте курс прямо сейчас!

Исправить ее довольно просто. Достаточно немного отредактировать файл модуля sitemap.php. Открываем файл в любом текстовом редакторе, ищем строку 283, которая обозначена как:

1
// Список нужных полей из таблицы со статьями

Выглядит она так:

1
$fields = 'id, category, title, alt_name, date, flag';

А чтобы карта сайта заработала из кода необходимо убрать обращение к полю «flag». В конечном итоге строка должна выглядеть так:

1
$fields = 'id, category, title, alt_name, date';

После этого ошибка Unknown column ‘flag’ in ‘field list’ должна исчезнуть и карта сайта будет доступна.

Include в статических страницах DLE.

Следующая ошибка связана с очередным обновлением движка. Начиная, с версии 9.8 в DLE была убрана возможность подключения файлов, при создании статической страницы используя include. Именно такая ошибка возникала у пользователей использующих версию 9.8 и выше, при использовании второго способа подключения карты сайта, который был описан в этой статье. В самой статье я добавил информацию по этому поводу, но как теперь быть со статическими страницами? Здесь разработчики усложнили немного жизнь неопытным пользователям CMS. Однако решение также существует, но без редактирования самих файлов не получится. Эта проблема относится не только к модулю карты сайта, но и к другим модулям, которые подключались, при создании статической страницы используя метод include.

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

1
{include file="engine/modules/sitemap.php?cats_as_links=1&show_static=1"}

Чтобы справиться с проблемой, необходимо создать еще один файл в формате tpl, который позволит подключить неработающую карту сайта. Итак, создаем файл, называем его как угодно, например htmlMap.tpl, после чего добавляем одну строку, которую в ранних версиях мы прописывали при создании статической страницы. Выглядит она так:

1
{include file="engine/modules/sitemap.php?cats_as_links=1&show_static=1"}

После чего сохраняем созданный файл в папке с используемым шаблоном. Теперь, нужно отредактировать статическую страницу, которая использовалась, как карта сайта и перестала работать, начиная с версии 9.8.

Особо редактировать ничего не нужно все оставляем так, как оно было, добавим только в поле «Использовать шаблон» — htmlMap. И тогда наша статическая страница станет выглядеть в админке так:

Include в статических страницах DLE.

После данных манипуляций, карта сайта для посетителей снова станет доступна.

Данные методы являются исправлением ошибок модуля, который был использован в довольно старой статье, поэтому если вы не хотите сталкиваться с проблемами и решать их самостоятельно, просто воспользуйтесь обновленным модулем, который по заявлению разработчиков работает во всем популярных версиях DLE: http://alaev.info/blog/post/1974

Удачи, Друзья.

Видеокурс "Технические секреты групп Вконтакте" доступен для скачивания!

Не получается сделать меню в группе Вконтакте? Устали платить другим за добавление меню в Вашу группу? Хотели бы научится всем техническим тонкостям и экономить свои деньги? Тогда скачайте курс прямо сейчас!

VN:F [1.9.22_1171]
Оценка статьи: 0.0/10 (0 голосов)
Автор: Михаил Веб Дата публикации: 06.11.2013