Сюда обычно чего-то пишут. Но меня ломает...

Карта сайта с пагинацией для Joomla!

Для создания HTML-карты сайта в Джумле есть прекрасный компонент - Xmap. Но вот незадача - всю карту он выводит на одной странице. Это не проблема, если у вас на сайте сотня-другая страниц. Но что делать если страниц тысяча, две, три? Карта становится нечитаемой. Я уже не говорю о ГС, сделанных под сапу, где крайне желательно, чтобы на каждой странице было не более 150 ссылок. Ну вы в курсе почему, да?

Xmap так не умеет. Вообще, как то туго с постраничными сайтмапами для джумлы. К счастью, какой-то поляк написал почти то, что нам нужно. Его компонент называется SEF Service Map. Но не спешите скачивать его с официальной страницы. У компонента есть проблемы.

Проблема первая заключается в том, что как только вы его поставите, в нем будет включено кэширование ссылок в базе данных. Из-за проблем с кодировкой (поляк забыл про кириллицу), ссылки в базе сохраняются некорректно и в итоге у вас вместо названий статей попрут знаки вопроса. Нехорошо, да?

Казалось бы, там есть второй режим - кэширование на файловой системе. Но и тут не все хорошо, в таком режиме половина статей из сайтмапа куда-то теряются в случае если у вас на сайте больше пяти-шести сотен страниц.

Вторая проблема в том, что количество ссылок для пагинации фиксировано - 20, 40, 60, 100 или все. А если вам надо 140 ? ;)

Ну и третья проблема - в футере компонент выводит кроме ссылки на свой сайт (что в общем-то вполне нормально) еще и ссылки на ряд продвигаемых автором плагина польских ГСов. Вы хотите двигать ГСы поляка? Я нет :)

В связи с этим пришлось плагин доработать. Теперь в нем нормально поддерживается кириллица при кэшировании в базу данных.  Вместо списка вариантов количества страниц для пагинации теперь там поле для ввода - ставьте сколько хотите. Ну и ссылка на продвигаемые  ГСы заменена по умолчанию на ссылку на эту весьма полезную страницу. Впрочем футерные ссылки вы можете теперь убрать совсем, поставить оригинальные ссылки поляка или так как есть - теперь в настройках компонента имеется соответствующий пункт.

Ставится компонент стандартно, работает сразу. Просто создайте ссылку на него из какого-нибудь меню и уточните количество ссылок на страницу в настройках. Да, вот еще что. Если вас угораздило установить оригинальный компонент поляка, то после его удаления вам надо руками удалить все таблицы компонента (те, что с префиксом jos_sef_sm_) и только после этого ставить мой исправленный вариант. Иначе проблемы с кодировкой у вас останутся.

Скачать компонент можно отсюда.

Материалы по теме

11 Каментов к статье “Карта сайта с пагинацией для Joomla!”. Оставьте камент »

  1. Камент от Ustinov — 2010/07/26 @ 9:51

    Спасибо за статью, подписался на рассылку.

  2. Камент от user — 2010/07/30 @ 21:17

    Интересно - надо будет заюзать девайс …)))

  3. Камент от user — 2010/07/30 @ 21:19

    Забыл главное - какие кампаненты он паддерживаит аднака????

  4. Камент от user — 2010/07/30 @ 21:32

    Чота не долго мызыка играла. После установки на двух сайтах Денвера это:
    JDatabaseMySQL::query: 1060 - Duplicate column name ‘ping_enabled’ SQL=ALTER TABLE `jos_sef_sm_menu` ADD `ping_enabled` INT DEFAULT ‘1′ NOT NULL ;

  5. Камент от Timp — 2010/08/03 @ 16:17

    Там по моему хардкодом в компоненте прописан префикс jos_, соответственно компонент не понимает других префиксов таблиц и не может работать с несколькими сайтами на одной базе. В принципе, это фиксится, но долго и геморно. Заводите под каждый сайт отдельную базу и все будет well.

  6. Камент от user — 2010/08/23 @ 22:37

    Дык так и есть естессно - каждому сайту своя база, все таблицы jos_

  7. Камент от михаил — 2011/05/25 @ 16:39

    поставил.
    не пашет с плгином SOBI2 от XMAP, падает с ошибкой

  8. Камент от Павел — 2011/09/04 @ 20:34

    Спасибо огромное! Поставил, действительно всё заработало корректно. Я ещё не регестрировал данную карту в поисковиках, но надеюсь всё пройдёт гладко. Ещё раз благодарю. Вашу ссылку внизу оставляю нетронутой, т.к. заслуживает внимания!

  9. Камент от SpawN — 2011/09/22 @ 10:18

    Ничерта не работает! :(

    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

  10. Камент от sasa — 2011/11/09 @ 8:32

    не реагирует на свои же CSS и не создаёт XML карту при том , что текстовую версию создаёт.

  11. Камент от nikko — 2012/01/16 @ 8:34

    Описал способ “очеловечить” пагинацию, может кому интересно
    http://e-kzn.ru/rasshireniya/kak-izmenit-paginatsiiu-v-joomla-1-5.html

RSS поток бредоспама. Трэкбэк адрес

Оставьте камент




Политика комментирования:

Как вы можете заметить, тут нет поля "сайт", бесполезно оставлять бессмысленные каменты ради ссылок.
Однако ссылки в теле комментариев, как, например вот эта, приветствуются и открыты для индексации.
Поэтому комментарии проходят ручную модерацию. Адекватные комментарии обычно апрувятся.