Доброго время суток. Установила на сайт галерею JoomGallery 1.5.7.4, создала категорию, закинула в неё 5 фотографий и столкнулась с проблемой. Галерея формирует url таким образом: http://www.sitename.com/алиас_меню/алиас_категории/алиас_фото. Таким образом, мы получается (на конкретном примере) http://localhost/Photo-kharkiv/dostoprimechatelnosti/dostoprimechatelnosti/5-5 (это при нажатии на фотографию в разделе достопримечательности). Перечитала подобные сообщения на форумах, копалась во многих файлах (в том числе и в router.php), но, к сожалению, совсем запуталась. Хотелось бы, чтоб алиас фотографии был таким: http://localhost/Photo-kharkiv/dostoprimechatelnosti/5-5, то есть, категория+фотка. Ещё одна беда. Захожу в категорию, где находятся фотографии, нажимаю на одну из них (например, сечас я на этом фото http://localhost/Photo-kharkiv/dostoprimechatelnosti/dostoprimechatelnosti/5-5). Под фото расположена лента фотографий, которые находятся ещё в этой категории, ну, вы знаете. Так вот, при нажатии на одну из них к стандартной проблеме в конце url добавляется #joomimg, пример: http://localhost/Photo-kharkiv/dostoprimechatelnosti/dostoprimechatelnosti/5-5#joomimg. Подскажите, пожалуйста, как это исправить? Sef-компоненты ставить категорически отказываюсь, так как в планах - мультиязычность (уже когда-то возилась с sef-компонентами и JoomFish). Уверена (так как подобного рода задачи мне удавалось иногда решать), что это можно реализовать. Заранее благодарна!
После дня мучений нашла решение проблемы. Для того чтобы убрать дублирование в URL заходим в файл /components/com_joomgallery/router.php находим строку: Код (CODE): if(isset($query['view']) and $query['view'] == 'category') { Сразу после неё комментируем или удаляем этот блок кода: Код (CODE): $db->setQuery(" SELECT alias FROM "._JOOM_TABLE_CATEGORIES." WHERE cid = ".$query['catid']); if(!$segment = $db->loadResult()) { // Append ID of category if alias was not found $segment = 'alias-not-found-'.$query['catid']; } Ниже после вот этого блока кода Код (CODE): if(isset($query['id']) && isset($query['view']) && $query['view'] == 'detail') { $db->setQuery(" SELECT catid, alias FROM "._JOOM_TABLE_IMAGES." WHERE id = ".$query['id']); $result_array = $db->loadAssoc(); Избавляемся от куска кода, который находится сразу после него: Код (CODE): $db->setQuery(" SELECT alias FROM "._JOOM_TABLE_CATEGORIES." WHERE cid = ".$result_array['catid']); if(!$segment = $db->loadResult()) { // Append ID of category if alias was not found $segment = 'alias-not-found-'.$query['catid']; } Теперь по поводу добавления #joomimg в url при нажатии на стрелочки (вперед, назад) или на мини-эскизы под фотографией. Заходим в файл /components/com_joomgallery/helpers/html/joomgallery.php. Находим в нём строку : Код (CODE): $anchor = '#'.$name; и меняем ее на Код (CODE): $anchor = ''; Вот так вот! Если решение помого - не пожалейте плюсик!
Это наверное действительно был день мучений )) Просто тупо переписать чужую статью... даже без исправлений http://joomlaforum.ru/index.php/topic,195096.0.html Нехорошо.
Это мой парень, его ник - Angelo. На этом форуме он зарегистрирован под другим именем. Эту проблему мы решили вместе и каждый оставил данное сообщение на разных форумах. Выложила на следующий день. В следующий раз не стоит что-то утверждать, если на знаешь, как обстоят дела на самом деле.