Показаны сообщения с ярлыком Joomla. Показать все сообщения
Показаны сообщения с ярлыком Joomla. Показать все сообщения

вторник, 11 августа 2009 г.

SEF Service Map & UTF-8 encoded URLs

SEF Service Map это компонент, перед которым стоит задача создания полной карты сайта.
Кроме того компонент совместим со всеми стандартными расширениями Joomla! (статьи, RSS ленты, ссылки, контакты и т.д.),
SEF Service Map является открытым компонентом - это позволяет интегрировать его с другими компонентами,
такими как галереи, форумы, каталоги и другие, благодаря встроенным механизмам интеграции!

SEF Service Map создает не только карту сайта, но и карту совместимую со стандартом sitemaps.org :
- XML карта (например: для Google)
- TXT карта (например: для Yahoo)

Но эта зараза на отрез отказывается работать совместно с русскоязычными UTF-8 урликами вида: http://some.site/Новости/Новости-сайта/Превеееед-медвед.html
Точнее работать то она с ними работает и даже HTML-карту генерирует валидную, а вот с XML- и TXT- картами проблема. Все красивые русские урлики в них выглядят примерно так: http://some.site/Ð�овоÑ�ти/Ð�овоÑ�ти-Ñ�айта/

Порывшись в коде нашёл проблему. Разработчики при генерации XML- и TXT- карт выполняют перекодировку линка на статью в UTF-8. Вобщем проблема решается таким образом:
  1. Открываем файлик /components/com_sefservicemap/sefservicemap.html.php
  2. Закомменчиваем или удаляем все вхождения строки "$link = utf8_encode($link);" (их 2)
  3. Радуемся жизни... ;)

вторник, 17 марта 2009 г.

JPATH_ROOT, JPATH_BASE и JPATH_SITE в чём разница?

Итак, в чём же разница меж этими константами в Joomla? Этим вопросом я задавался достаточно длительное время, но на поиски различий времени никогда не было, хотя эти самые различия несомненно должны были быть! =)
Сегодня наконец-то руки дошли погуглить по данному сабжу. И вот результат:

JPATH_ROOT -- всегда содержит путь установки (куда на web-сервере была установлена) Joomla!, только его и ничто другое.
JPATH_SITE -- всегда содержит путь к приложению (экземпляру класса JApplication) JSite, то есть путь где находится корень front-end'а Joomla. Аналогично JPATH_ADMINISTRATOR -- содержит путь к корню back-end'а Joomla.
JPATH_BASE -- всегда содержит путь к корню текущего приложения, то есть когда вы находитесь в back-end константа JPATH_BASE == JPATH_ADMINISTRATOR, а когда находитесь во front-end -- JPATH_BASE == JPATH_SITE.

Вот такие вот они константы в Joomla...