По умолчанию, без всяких дополнительных настроек, Joomla генерирует алиасы каждой статьи с уникальным номером - идентификатором (ID). Выглядит это не очень красиво, поэтому желательно от этих цифр избавиться. Есть специальный параметр, который отвечает за публикацию идентификатора статей в ссылках - почему-то разработчики об этом не упоминают. Можно добавить управление этим параметром в админ панели или прописать вручную в базе данных. Первый проверен и работает, другим не пользовался.
1. Редактируем файл config.xml (находится /administrator/components/com_content/config.xml) - после строк (в начале файла)
<?xml version="1.0" encoding="utf-8"?>
<config>
<fieldset
name="articles"
label="JGLOBAL_ARTICLES"
description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC">
вставляем код:
<field name="sef_advanced_link"
type="radio"
default="0"
label="Sef Advanced Mode"
description="Remove ItemID from Content URL?">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>
После этого заходим в настройки менеджера материалов и в закладке "Материалы" в начале появится новый пункт - «Sef Advanced Mode». Выбираем «Да», и адреса страниц будут формироваться без ID.
Замечания:
- после последнего обновления Джумлы это пункт пропал, но ссылки по-прежнему отображаются без идентификатора. Еще не разбирался с этим.
- не знаю, не проверял:
если после добавления данного параметра будет выдавать ошибку, то нужно в файле: /components/com_content/router.php заменить код:
// then we assume it is a category. If they don't we assume it is an article
if ($count === 1) {
на код:
// then we assume it is a category. If they don't we assume it is an article
if ($count === 1 && !$advanced) {
2. В базе данных в таблице _extensions найти запись, которая отвечает за хранение данных о компоненте Менеджера материалов - запись com_content. Затем открыть ее для редактирования и в поле params добавить параметр "sef_advanced_link":"1" После сохранения изменений идентификаторы статей (ID) из ссылок пропадут.
3. Говорят, что есть сторонние расширения для решения данной проблемы - не проверял, не знаю. Да и не сторонник установки дополнений на сайт сверх необходимого минимума...
Joomla 3
помощь joomlaforum.ru// еще, хотя это уже неактуально, 4632.ru // joom-pro.ru // vitaliykulikov.ru //
А что сейчас?
- Совет: "в 3.8.2 есть решение вопроса: Материалы -> настройки -> Интеграция -> URL Routing -> Modern (выскочит подпункт) -> Remove IDs from URLs -> Yes (ДА)"
*