В силу определенных причин, связанных с некоторой глючностью 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 с официального сайта