Карта сайта с пагинацией для Joomla!
Для создания HTML-карты сайта в Джумле есть прекрасный компонент - Xmap. Но вот незадача - всю карту он выводит на одной странице. Это не проблема, если у вас на сайте сотня-другая страниц. Но что делать если страниц тысяча, две, три? Карта становится нечитаемой. Я уже не говорю о ГС, сделанных под сапу, где крайне желательно, чтобы на каждой странице было не более 150 ссылок. Ну вы в курсе почему, да?
Xmap так не умеет. Вообще, как то туго с постраничными сайтмапами для джумлы. К счастью, какой-то поляк написал почти то, что нам нужно. Его компонент называется SEF Service Map. Но не спешите скачивать его с официальной страницы. У компонента есть проблемы.
Проблема первая заключается в том, что как только вы его поставите, в нем будет включено кэширование ссылок в базе данных. Из-за проблем с кодировкой (поляк забыл про кириллицу), ссылки в базе сохраняются некорректно и в итоге у вас вместо названий статей попрут знаки вопроса. Нехорошо, да?
Казалось бы, там есть второй режим - кэширование на файловой системе. Но и тут не все хорошо, в таком режиме половина статей из сайтмапа куда-то теряются в случае если у вас на сайте больше пяти-шести сотен страниц.
Вторая проблема в том, что количество ссылок для пагинации фиксировано - 20, 40, 60, 100 или все. А если вам надо 140 ? ;)
Ну и третья проблема - в футере компонент выводит кроме ссылки на свой сайт (что в общем-то вполне нормально) еще и ссылки на ряд продвигаемых автором плагина польских ГСов. Вы хотите двигать ГСы поляка? Я нет :)
В связи с этим пришлось плагин доработать. Теперь в нем нормально поддерживается кириллица при кэшировании в базу данных. Вместо списка вариантов количества страниц для пагинации теперь там поле для ввода - ставьте сколько хотите. Ну и ссылка на продвигаемые ГСы заменена по умолчанию на ссылку на эту весьма полезную страницу. Впрочем футерные ссылки вы можете теперь убрать совсем, поставить оригинальные ссылки поляка или так как есть - теперь в настройках компонента имеется соответствующий пункт.
Ставится компонент стандартно, работает сразу. Просто создайте ссылку на него из какого-нибудь меню и уточните количество ссылок на страницу в настройках. Да, вот еще что. Если вас угораздило установить оригинальный компонент поляка, то после его удаления вам надо руками удалить все таблицы компонента (те, что с префиксом jos_sef_sm_) и только после этого ставить мой исправленный вариант. Иначе проблемы с кодировкой у вас останутся.
Скачать компонент можно отсюда.
Спасибо за статью, подписался на рассылку.
Интересно - надо будет заюзать девайс …)))
Забыл главное - какие кампаненты он паддерживаит аднака????
Чота не долго мызыка играла. После установки на двух сайтах Денвера это:
JDatabaseMySQL::query: 1060 - Duplicate column name ‘ping_enabled’ SQL=ALTER TABLE `jos_sef_sm_menu` ADD `ping_enabled` INT DEFAULT ‘1′ NOT NULL ;
Там по моему хардкодом в компоненте прописан префикс jos_, соответственно компонент не понимает других префиксов таблиц и не может работать с несколькими сайтами на одной базе. В принципе, это фиксится, но долго и геморно. Заводите под каждый сайт отдельную базу и все будет well.
Дык так и есть естессно - каждому сайту своя база, все таблицы jos_
поставил.
не пашет с плгином SOBI2 от XMAP, падает с ошибкой
Спасибо огромное! Поставил, действительно всё заработало корректно. Я ещё не регестрировал данную карту в поисковиках, но надеюсь всё пройдёт гладко. Ещё раз благодарю. Вашу ссылку внизу оставляю нетронутой, т.к. заслуживает внимания!
Ничерта не работает! :(
Warning: Invalid argument supplied for foreach() in /var/www/XXXXXXX/data/www/XXXXXXX/components/com_sefservicemap/sefservicemap.php on line 65
Warning: Invalid argument supplied for foreach() in /var/www/XXXXXXX/data/www/XXXXXXX/components/com_sefservicemap/sefservicemap.php on line 376
не реагирует на свои же CSS и не создаёт XML карту при том , что текстовую версию создаёт.
Описал способ “очеловечить” пагинацию, может кому интересно
http://e-kzn.ru/rasshireniya/kak-izmenit-paginatsiiu-v-joomla-1-5.html