Abysim (abysim) wrote,
Abysim
abysim

Categories:

Рабочие SEF-ссылки транслитом для JoomGallery через router.php и совместимость с JoomFish

В создаваемых сайтов на Joomla! использую компонент JoomGallery, хоть он и не MVC, но довольно многофункциональный, легко настраивается и работает. До последнего времени не смог сделать для галереи ЧПУ.

SEF-компоненты не использую, так как для sh404SEF надо всё равно плагины искать, чтобы нормальные ссылки получались, поэтому преимущество перед стандартным SEF невелико, а разобраться с Artio JoomSEF не выходило, оба раза когда его ставил начинали лезть ошибки причину которых не мог понять, да и платные эти компоненты, хотя это не проблема. Если прямо потребуют какой-то из этих компонентов на сайт, то уже тогда поставлю разберусь, а сейчас слишком много времени получается на них надо, не люблю на столько глючные вещи.

Конечно, сразу же нашел эту тему, размещённый там router.php подходит для англоязычных сайтов, да и для русских подходит, только ссылки получаются с буквами того языка, на котором сайт. И заглавные буквы в них получаются, что всё же не красиво и проблемы может вызвать в некоторых браузерах и при передаче ссылок, не могу назвать такие ссылки дружественными.

Да, там предложили решение проблемы, добавив функцию замены букв, но после этого у меня переставала работать галерея, не знаю, как у других продолжала работать. Ведь тогда ссылки создаются как надо, названия транслитерируются и всё с адресами хорошо, но эти адреса никуда не ведут, так как сам скрипт берет название категории или фото с адреса и потом в базе ищет категорию с таким же названием, но в базе категории записаны на русском, а в адресах уже на транслите, поэтому все ссылки ведут в корень галереи.

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

Когда скопировал полученный router.php на многоязычный сайт на JoomFish, то обнаружилась ещё проблема. Запросы к базе возвращали уже переведенные имена категорий и фото, поэтому их нельзя было поставить в соответствие к названиям из ссылок. Но это решилось просто. Так как JoomFish переопределяет методы обращения к базе, в самом скрипте в запросы этих методов дописал аргументы, указывающие, что не нужно переводить, в итоге всё заработало. Может не красиво, что в английской версии сайта в путях русские транслитерированные названия, но вряд ли это можно просто исправить, да и в остальных компонентах с путями так же.

Скачать новый router.php для JoomGallery можно по этой ссылке. Код скрипта не идеальный, но рабочий.

Результаты его работы можно посмотреть здесь:
http://mebelok.com.ua/gallery (первый сайт, на котором его испытал, так как названия фото повторяются, то добавил вывод айди в адреса, поэтому соответствующие фото ищутся не по названию);
http://bizukov.org.ua/ru/photo (многоязычный сайт, айди в адреса фотографий не выводятся, поэтому проверить работу можно в полной мере).
Tags: joomla, php, seo, работа
Subscribe

  • Итоги 2011

    Новый год идёт по планете. К некоторым уже пришёл. Можно подвести итоги, посмотреть, что было важного для меня. Год однозначно запомнится. В нём…

  • Если бы комбайны делали как сайты

    Знаю, что не оригинально, но решил написать, чтобы снять напряжение. Так как родители всю жизнь работают на комбайновом заводе, то решил описать…

  • Итоги 2010

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

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 37 comments

  • Итоги 2011

    Новый год идёт по планете. К некоторым уже пришёл. Можно подвести итоги, посмотреть, что было важного для меня. Год однозначно запомнится. В нём…

  • Если бы комбайны делали как сайты

    Знаю, что не оригинально, но решил написать, чтобы снять напряжение. Так как родители всю жизнь работают на комбайновом заводе, то решил описать…

  • Итоги 2010

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