SiteIS

Joomla - мощная расширяемая система для разработки сайтов!

- Разработка сайтов любой сложности и функциональности.

- Огромное количество шаблонов, модулей и расширений для любых нужд

- Возможность увеличения функционала с помощью дополнительных расширений

- Настраиваемая схема расположения элементов на основном шаблоне сайта

Убираем id из урла joomla 2.5.x/3.x.x

Достоинством, который и делает метод, описанный в данной статье, достаточно популярным, является то, что не нужно использовать сторонние расширения (решается все непосредственно средствами самой CMS) и, как следствие, система не нагружается дополнительными запросами, а стало быть сайт работает быстрее. К тому же это сложно назвать хаком, поскольку дальнейшие обновления никак не повлияют на, активированные данным способом, настройки.

Рекомендации.

Использование описанного в этой статье метода влечет за собой изменение адресов (URL). Поэтому его следует применять до того, как вы начнете добавлять материалы. Если ресурс уже наполнен и индексируется поисковыми системами, то будьте готовы к тому, что в выдаче ПС появятся ссылки на ваш сайт, которые ведут на страницу ошибок 404.

Открываем в блокноте файл ваш_сайт/administrator/components/com_content/config.xml

Сразу же после строки description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC"> (у меня это строка 6) вставляем следующий код:

<field name="sef_advanced_link" type="radio" default="1" label="SefAdvancedMode" description="Remove Item ID from Content URL?">
	<option value="0">JNO</option>
	<option value="1">JYES</option>
</field>

Сохраняем файл. Переходим в админ панель сайта, выбираем в верхнем меню Материалы/Менеджер материалов. Нажимаем кнопку Настройки в верхней части страницы.

Появится всплывающее окно с настройками. Переходим во вкладку Материалы и видим пункт SefAdvancedMode с двумя радио переключателями Нет и Да. Проверяем, что бы отмечен был переключатель Да (он должен быть отмечен по умолчанию), при необходимости активируем нужный пункт. Сохраняемся и закрываем окно.

Открываем главную страницу сайта и начинаем переходить по ссылкам. Если все сделано правильно, id в URL-ах отображаться не будут.

Теперь изменения, внесенные в файл config.xml, как это не удивительно, можно спокойно удалить (а можно и не трогать - файл пере запишется при следующих обновлениях, но активированная настройка останется прежней).

Возможные проблемы

В своей практике мне не приходилось сталкиваться с какими либо неприятностями при использовании данного хака. Но в интернете я часто встречаю описание, что после изменения файла config.xml возможны ошибки при обращении к материалам сайта. Если произошел такой случай, то открываем в блокноте файл ваш_сайт/components/com_content/router.php, находим строку if ($count == 1) { (у меня это 226 строка) и изменяем ее на строку вида if ($count == 1 && !$advanced) {.