• Авторизация


Небольшое исправление Joomgallery. Alias as catpath 09-04-2011 07:30 к комментариям - к полной версии - понравилось!


В силу определенных причин, связанных с некоторой глючностью Phocagalley, а так же с желанием уменьшить показатель отказов на сайте все таки решил перейти на Joomgallery 1.5.6.

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

Итак - как обстоят дела. При создании категории задаются некоторые параметры. В частности Имя и Алиас. Соответственно Имя это как раз то, что отображается в качестве названия категории. Однако по непонятным причинам автор решил папки на сервере, в которых хранятся изображения данной категории именовать таким образом "Имя_ID" т.е. если создать категорию Portraits то мы получим папочку с именем Portaits_26 к примеру (26 - это ID категории). Однако кириллица в именах папок на сервере - явление проблематичное, поэтому от греха подальше недопустимые символы в именах папок обрезаются. В итоге если мы создаем категорию Портреты с алиасом Portraits то вопреки ожиданиям получаем папку с именем "--26". В общем-то при этом все работает, но совершенно некрасиво, неудобно и как я понимаю чревато проблемами в дальнейшем. Ну и тут возникает вполне логичная мысль - использовать в качестве имени папки алиас. 

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

Обгуглившись по этому вопросу и почитав разных форумов готового решения найти не смог, но примерные идеи где-то появились. Пристальное знакомство со скриптами галереи при помощи КАПыча таки показало очень даже приемлимый вариант. 

Итак - по сути:

Открываем файлик administrator/components/com_joomgallery/models/category.php - тут как раз и создаются категории. 

На строке 138 видим:

JFilterOutput::objectHTMLSafe($row->name);
 $catpath = JoomFile::fixFilename($row->name).'_'.$row->cid;

Здесь как раз формируется имя категории $catpath.

Заменяем на:

JFilterOutput::objectHTMLSafe($row->alias);
$catpath = JoomFile::fixFilename($row->alias).'_'.$row->cid;

Вуаля, все работает как надо, папочка создается с именем "portraits_26"

Но это относится только к вновь создаваемым папкам, при редактировании имеющейсявсе поменяется. Пэтому, строка 183 в том же файле:

JFilterOutput::objectHTMLSafe($row->name);
 $catpath = JoomFile::fixFilename($row->name).'_'.$row->cid;

Меняем точно так же:

JFilterOutput::objectHTMLSafe($row->alias);
$catpath = JoomFile::fixFilename($row->alias).'_'.$row->cid;

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

P.S. Все это было проделано дважды - в первом случае галерея уже была, категории и изображения имелись, имена папок - на латинице и вручную исправлены записи в поле name. Во втором случае свежеустановленная галерея. 

В обеих случаях - joomgaller 1.5.6 с локализацией RU_ru с официального сайта

вверх^ к полной версии понравилось! в evernote
Комментарии (1):


Комментарии (1): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Небольшое исправление Joomgallery. Alias as catpath | m47r - Сумбурные мысли о жизни и других неприятностях.. | Лента друзей m47r / Полная версия Добавить в друзья Страницы: раньше»