0 Пользователей и 1 Гость просматривают эту тему.
  • 40 Ответов
  • 14103 Просмотров
*

style.ilya

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
  • http://dreambikes.ru
SEF ссылки для JoomGallery
« : 02.06.2010, 12:29:45 »
Хочу поделиться с вами замечательным роутером!

Нашел router для JoomGallery. Автор работы abysim.livejournal.com. Ссылки выглядят так http://сайт.ru/menu/galereya/categoriya/fotografia-1.html
Все названия категорий и фотографий можете писать на русском  - они будут автоматически транслитерированы.

Почитать подробнее и поблагодарить автора abysim можно тут http://abysim.livejournal.com/26026.html.

Посмотреть пример работы галереи можно здесь http://dreambikes.ru/foto
Еще тут http://mebelok.com.ua/gallery (сайт автора) и тут http://www.bizukov.org/ru/photo (тоже сайт автора).

router.php нужно просто добавить в components/com_joomgallery



[вложение удалено Администратором]
« Последнее редактирование: 02.06.2010, 12:33:53 от style.ilya »
*

strannik-yura

  • Давно я тут
  • 511
  • 44 / 1
  • :)
Re: SEF ссылки для JoomGallery
« Ответ #1 : 02.06.2010, 13:46:08 »
спасибо,
попробовал - работает, лучше чем предложенный тут - JoomGallery. Файл router.php для встроенного SEF (решено)
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #2 : 02.06.2010, 14:41:13 »
Когда выложил этот router.php на форуме компонента, оказалось, что он не работает, если на изображения наложены водяные знаки. Сами разработчики это не предусмотрели, так как ссылки в скриптах выводятся не через роутер.

Поэтому, ещё надо делать хаки в самой JoomGallery, в следующих файлах:

includes/joom.javascript.php
заменить в строке 241
Код
$js_imgpath = _JOOM_LIVE_SITE.'index.php?option=com_joomgallery&func=watermark&id='.$id.'&catid='.$catid.'&orig='.$orig.'&no_html=1'.$Itemid_jg;
на
Код
$js_imgpath = JRoute::_('index.php?option=com_joomgallery&func=watermark&id='.$id.'&catid='.$catid.'&orig='.$orig.'&no_html=1'.$Itemid_jg);


includes/joom.viewdetails.php
заменить в строке 482
Код
$source_cache[] = _JOOM_LIVE_SITE.$this->joom_componenturl.'&func=watermark&id='
    .$row1->id.'&catid='.$this->catid._JOOM_ITEMID;
на                       
Код
$source_cache[] = JRoute::_($this->joom_componenturl.'&func=watermark&id='
    .$row1->id.'&catid='.$this->catid._JOOM_ITEMID);
                         
заменить в строке 194
Код
$this->picture_src = _JOOM_LIVE_SITE.$this->joom_componenturl.
       '&func=watermark&catid='.$this->catid.
       '&id='.$this->id.str_replace('&','&',_JOOM_ITEMID);
на                         
Код
$this->picture_src = JRoute::_($this->joom_componenturl.
        '&func=watermark&catid='.$this->catid.
        '&id='.$this->id.str_replace('&','&',_JOOM_ITEMID));

Не уверен, все ли три замены проводить надо для нормально работы, сильно не вникал.

Потом модифицировал router.php для работы с watermark. Его можно скачать там или сразу по этой ссылке. Можете прикрепить в этой теме.

Только если не нужны водяные знаки, тогда лучше использовать ту версию файла, которая прикреплена в первом сообщении темы, чтобы не было проблем с обновлением компонента, да и чтобы чуть быстрее работало.
На открытых сайтах вотермарки не использую, поэтому примеров работы нет.
« Последнее редактирование: 03.06.2010, 15:01:03 от Abysim »
*

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #3 : 05.06.2010, 21:18:41 »
На Денвере:
The requested URL /gallery/vodnaya-tema/yahty.html was not found on this server.

Что-то не сростается у меня...
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Re: SEF ссылки для JoomGallery
« Ответ #4 : 15.06.2010, 09:06:46 »
Спасибо, рутер работает. Но проблема если в названии фото многоточие. Также хотелось бы иметь возможность убрать тире из названия фото, а то получаются двойные тире.
Есть также одна штука - при навигации через карусель, к имень фото прибавляется #joomimg - что выглядит плохо.

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

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #5 : 17.06.2010, 14:32:39 »
Но проблема если в названии фото многоточие. Также хотелось бы иметь возможность убрать тире из названия фото, а то получаются двойные тире.
Какая проблема с многоточием в названии? Пробовал делать и многоточие, и просто несколько точек подряд — оба раза они полностью удаляются и в адрес не попадают. Тире в названии убирается, а вот пробелы, которые вокруг тире, заменяются дефисами. Проблему можно решить дописав в роутере код, который удаляет лишние пробелы, это лучше делать перед 66-й строкой, где происходит возврат значения функции replacespecial.

Есть также одна штука - при навигации через карусель, к имень фото прибавляется #joomimg - что выглядит плохо.
К роутеру это отношения не имеет, якорь добавляет сама галерея для удобства навигации. Если не нравится внешне и надо убрать именно в карусели, то просто в 318-й строке /components/com_joomgallery/includes/html/joom.viewdetails.html.php удалить
Код
.'#joomimg'
Аналогично, через поиск по тексту скриптов, убирается в других местах.
 
Но есть одна самая большая проблема - если в категории фото названы одним именем, то навигация в галерее перестает работать. А таких категорий у меня несколько, в которых имена фото одинаковые.
Это решается настройкой роутера, если названия изображений совпадают, то надо установить следубющее значение в 37-й строке:
Код
$rparams['noidintitle'] = false;
Здесь у фотографий одинаковые названия и навигация работает.
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Re: SEF ссылки для JoomGallery
« Ответ #6 : 17.06.2010, 18:59:28 »
Спасибо большое - все получилось! ^-^
*

tishok

  • Новичок
  • 2
  • 0 / 0
Re: SEF ссылки для JoomGallery
« Ответ #7 : 06.07.2010, 04:10:19 »
У меня тоже все работает, но есть один вопрос:
Что изменить в роутере, что бы дефис (или минус) не удалялись из урла и ссылка при этом продолжала работать?

Примеры:
шкафы-купе => shkafy-kupe вместо shkafykupe
пресс-релиз => press-reliz вместо pressreliz

Я кое что пробовал изменять сам, после чего url становился нормального вида, т.е. пресс-релиз => press-reliz, но после этого ссылка переставала работать а в галерее после нажатия по данной ссылке появлялась надпись "Фотография более не существует или ещё не одобрена администратором!"
Все это безобразие происходило на обзорной странице категорий, т.е. в категорию пресс-релиз я попасть не мог, хотя в другие категории (которые без дефиса) ссылки работали нормально.

И на всякий случай: у меня галерея с водяными знаками и роутер я пытался править соответствующий.

Может тут не только роутер править надо?
« Последнее редактирование: 06.07.2010, 04:22:50 от tishok »
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #8 : 06.07.2010, 10:51:26 »
Так как в настройках по умолчанию стоит заменять пробелы дефисом, то этого символа не может быть в начальном имени/адресе категории, поэтому он удаляется. Чтобы решить эту проблему, заменяю дефис на пробел перед удалением. Для этого надо дописать в 60-й строке ", '-'=>' '" без двойных кавычек (демо).

Если в настройках пробелы заменяются не на дефис, то его можно просто добавить в регулярку в 64-й строке, чтобы не удалялся вместе с остальными.
*

tishok

  • Новичок
  • 2
  • 0 / 0
Re: SEF ссылки для JoomGallery
« Ответ #9 : 06.07.2010, 12:52:25 »
Спасибо, Abysim! Теперь дефисы остаются, все оказалось так просто.
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Re: SEF ссылки для JoomGallery
« Ответ #10 : 11.07.2010, 15:19:11 »
Обнаружилась неприятная проблема. Нет доступа юзера в Моя галерея. Соответственно невозможно юзерам загружать фотографии.
Joomla 1.5.14 и JoomaGallery 1.5.0.5 на сайте включен SEF. В роутере параметр выставлен:
Код
$rparams['userpanel'] = 'cpanel';
Адресная строка получается http://сайт.ru/gallery/cpanel.html При нажатии просто выкидывает на главную страницу галереи. Это у всех так или только у меня?
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #11 : 12.07.2010, 10:15:01 »
Сейчас у всех так, кто использует старые версии. Надо заменить в коде роутера "cpanel" и "control_panel" на "userpanel" в 25 и 426 строках. Было обсуждение этого в ветке изначальной записи блога.

Исправленный роутер для галереи без вотермарок здесь, а для галереи использующей их - по этой ссылке.
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Re: SEF ссылки для JoomGallery
« Ответ #12 : 12.07.2010, 11:38:51 »
Еще раз большое спасибо за помощь! ^-^
*

arturfjodrv

  • Осваиваюсь на форуме
  • 36
  • 2 / 0
Re: SEF ссылки для JoomGallery
« Ответ #13 : 20.07.2010, 15:19:09 »
Спасибо огромное!
*

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #14 : 30.07.2010, 11:05:37 »
 Други, озадачился неработой плагина - поставил новую Joomla 1.5.20 - работает как часики, а на рабочей, изначально установленной 1.5.4 и постепенно обновленной до 1.5.20 - нет. Чтобы все на хост не перезаливать - какие файлы надобно проинспектировать на наличие и соответствие версии?
 Вроде разобрался - 3 файла SEF.php сменил - тестим.
« Последнее редактирование: 30.07.2010, 12:46:54 от Beer »
*

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #15 : 08.08.2010, 00:07:09 »
 Заюзал SEF в JoomGallery и что увидел: количество запросов с 76 вырастает до 214 с включенным кешем. Это нормально разве?
Вот инфа:
Информация о профиле
Application afterLoad: 0.006 seconds, 0.27 MB
Application afterInitialise: 0.308 seconds, 4.94 MB
Application afterRoute: 0.341 seconds, 5.77 MB
Application afterDispatch: 0.917 seconds, 8.25 MB
Application afterRender: 1.073 seconds, 8.78 MB
Использование памяти
9302320
Зарегистрировано запросов: 76

Включил:
Информация о профиле
Application afterLoad: 0.006 seconds, 0.27 MB
Application afterInitialise: 0.253 seconds, 4.94 MB
Application afterRoute: 0.278 seconds, 5.77 MB
Application afterDispatch: 1.231 seconds, 8.40 MB
Application afterRender: 1.386 seconds, 8.93 MB
Использование памяти
9530720
Зарегистрировано запросов: 214
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #16 : 08.08.2010, 16:07:28 »
Это нормально разве?
Не нормально, буду благодарен тому, кто это исправит. Я только переделал изначальный скрипт, чтобы он нормально транслитерировал названия. Так как в JoomGallery не предусмотрены SEF, то для создания каждой ссылки происходит запрос к базе, который находит название фото или галереи, а потом уже обрабатывается его. В итоге, чем больше ссылок на станице - тем больше запросов к базе. Как понимаю, с этим можно разобраться кешированием. Или использовать SEF-компонент. Пока большинство устраивает возрастающие количество запросов и увеличение времени генерации страницы. Кому сильно нужна скорость выполнения - не пользуются подобными CMS, или такими компонентами. Возможно, после выпуска JoomGallery MVC учтут SEF-ссылки.

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

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #17 : 08.08.2010, 16:45:14 »
Кыширование не спасает. Меня больше не скорость волнует, а нагрузка на сервер, дело в том, что когда вдруг приходит (неустановлено пока сколько) энное кол-во юзеров смотреть новые фотки после рассылки, от хостера автоматом приходит уведомление о превышении нагрузки...
Так что с нагрузкой будет при использовании SEF?
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #18 : 09.08.2010, 00:59:21 »
Количество запросов к базе увеличивается, можно попробовать на время убрать роутер и проверить будут ли приходить уведомления без его использования. Ещё модуль JoomImages может делать приличную нагрузку, если он используется. Если нужен текущий функционал на текущем хостинге, то лучше обратиться к оптимизаторам. Закешировать результаты запросов роутера к базе не должно быть большой проблемой для тех, кто подобным занимается.
*

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #19 : 09.08.2010, 01:05:32 »
 На хостере эксперементировать опасно - в середине эксперимента он может вырубить сайт, пока не перейдешь на новый тариф ...(((
 JoomImages используется - выводит на главной новые фотографии.
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #20 : 09.08.2010, 15:01:05 »
JoomImages может на лету уменьшать картинки и делать большую нагрузку на сервер. А с SEF не понятно как оптимизировать, если так важен вопрос обращений к базе, то может лучше попробовать комопнент типа AceSEF, хотя он тоже много запросов к базе делает.
*

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #21 : 09.08.2010, 17:07:35 »
Вот страница фото:

http://www.site.ru/phgallery/mototoauto/mototzikly-velosipedy/nochnoj-ezdok.html

Информация о профиле:
Application afterLoad: 0.004 seconds, 0.27 MB
Application afterInitialise: 0.252 seconds, 4.90 MB
Application afterRoute: 0.346 seconds, 5.94 MB
Application afterDispatch: 0.693 seconds, 9.17 MB
Application afterRender: 1.915 seconds, 11.64 MB
Использование памяти
12301008
Зарегистрировано запросов: 60


http://www.site.ru/phgallery.html?func=detail&id=3182

Информация о профиле:
Application afterLoad: 0.004 seconds, 0.28 MB
Application afterInitialise: 0.244 seconds, 4.90 MB
Application afterRoute: 0.309 seconds, 5.81 MB
Application afterDispatch: 0.625 seconds, 9.03 MB
Application afterRender: 1.502 seconds, 11.50 MB
Использование памяти
12159272
Зарегистрировано запросов: 35

По мне, так было бы проще заместо этой абракадабры на конце ссылки http://www.site.ru/phgallery.html?func=detail&id=3182, пусть бы делал проще и лаконичнее типо так как-то: http://www.site.ru/phgallery/photo_3182.html
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #22 : 09.08.2010, 17:36:42 »
Для простых путей без получения имён категорий и фото из базы надо переписывать роутер.

Ещё количество запросов к базе уменьшается, если использовать айдишники в названиях фото, прописывается как указывал вышел: $rparams['noidintitle'] = false;
*

Beer

  • Завсегдатай
  • 1101
  • 41 / 1
  • БИРУ - БИР!
Re: SEF ссылки для JoomGallery
« Ответ #23 : 09.08.2010, 17:43:12 »
Кто бы с программерскими мозгами файлик роутера приатачил такого - я больше фотограф, нежели программер...
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Re: SEF ссылки для JoomGallery
« Ответ #24 : 27.09.2010, 18:03:47 »
Сейчас у всех так, кто использует старые версии. Надо заменить в коде роутера "cpanel" и "control_panel" на "userpanel" в 25 и 426 строках. Было обсуждение этого в ветке изначальной записи блога.

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

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #25 : 27.09.2010, 18:07:07 »
Версия галереи 1.5.0.*? Куда перекидывает неудачный вход и какой адрес у панели пользователя без SEF?
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Re: SEF ссылки для JoomGallery
« Ответ #26 : 28.09.2010, 14:14:45 »
Да никуда не перекидывает, просто ссылка не работает и всё. Нажимаешь и ничего не происходит. Версия 1.5.5.2
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #27 : 28.09.2010, 14:43:35 »
Не уверен, что этот роутер с 1.5.5.* работает нормально. Скорее всего, там адрес панели пользователя поменялся, можно попробовать заменить "userpanel" на новое называние func, показывающие панель пользователя.
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Re: SEF ссылки для JoomGallery
« Ответ #28 : 28.09.2010, 16:47:36 »
а как переименовать? в каком файле?
*

Abysim

  • Осваиваюсь на форуме
  • 16
  • 3 / 0
Re: SEF ссылки для JoomGallery
« Ответ #29 : 28.09.2010, 22:22:33 »
Странно, обновил галерею до 1.5.5.2, включил пользовательскую панель. По галереи ходит нормально, и в управление фото зашло с фронтенда по ссылке вида gallery/userpanel, после того как залогинился.

Какая именно ссылка не работает? Пункт меню типа JoomGallery создан и включён?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работают SEF-ссылки на Joomla 5

Автор Detonator

Ответов: 0
Просмотров: 979
Последний ответ 08.04.2024, 10:02:59
от Detonator
Как скрыть партнерские ссылки?

Автор paicker

Ответов: 3
Просмотров: 8095
Последний ответ 30.08.2022, 13:19:04
от kovaltaras1
Убрать из ссылки /images

Автор step147

Ответов: 4
Просмотров: 2353
Последний ответ 17.08.2021, 11:19:32
от step147
SEF и красивые ссылки

Автор sergvm

Ответов: 10
Просмотров: 2977
Последний ответ 14.06.2020, 19:52:38
от sergvm
После включения SEF ссылки не до конца становятся красивыми

Автор borro

Ответов: 3
Просмотров: 3301
Последний ответ 19.04.2020, 13:48:12
от robert