У статті Як в Joomla прибрати index.php з url я вже розповідав які повинні бути параметри в налаштуваннях штатних засобів SEF Joomla, тому передбачається, що ви вже використовуєте ці настройки.
Але цього ще мало, тому що посилання будуть виглядати ось так:
На засланні видно цифру, яка відповідає ID матеріалу.
Для того, щоб прибрати ці ID, потрібно зробити два виправлення в файлах Joomla.
1. Виправлення файлу config.xml
Цей файл розташований за наступним шляхом: корень_вашего_сайта / administrator / components / com_content / config.xml
Як не дивно, але в Joomla вище версії 1.5 вже передбачена функція для відключення ID матеріалу з URL, але, чомусь, це не винесено в настройки.
Дії, описані нижче, дозволять візуалізувати цю функцію в налаштуваннях матеріалів.
Отже, необхідно в файлі config.xml після рядки description = "COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC"> додати код
В результаті у вас повинно вийти наступне:
Тепер, якщо ви зайдете в адмінку сайту, відкриєте менеджер матеріалів і виберіть "Налаштування", то у вкладці "Матеріали" буде видна необхідна нам опція.
За замовчуванням у нас вже висталено значення "Так", але ви завжди зможете його змінити.
Виконані дії прибирають ID матеріалу із заслання, але цього не достатньо. Деякі сторінки будуть вивалюватися з помилкою 404! Тому, обов'язково виконайте наступний пункт, навіть якщо вам здалося, що у вашому випадку все і так добре і помилок ніяких немає!
2. Виправлення файлу router.php
У цьому файлі шукаємо рядок if ($ count == 1) і міняємо її на if ($ count == 1 ! $ Advanced)
У результаті повинно вийти так, як показано на малюнку
для Joomla 3 можливо знадобитися в цьому ж файлі змінити
where ($ db-> quoteName ( 'alias'). '='. $ db-> quote ($ db-> quote ($ segment)));
на where ($ db-> quoteName ( 'alias'). '='. $ db-> quote ($ segment));
Ось тепер посилання будуть без зайвих цифр!