Войти Регистрация

Вход на сайт

Логин *
Пароль *

Как убрать ID материала из ссылки в Joomla

Суббота, 21 марта 2015 23:56 Автор 
Я уже писал подобную статью для тех, кто использует компонент K2 : K2 - убираем из ссылки item и id
Однако, если использовать стандартные материалы Joomla и стандартные средства SEF, то возникает сложность со ссылками, так как в них добавляется ID материала.
В этой статье я расскажу как избавиться от этих ID и сделать ссылки идеальными.

В статье Как в Joomla убрать index.php из url я уже рассказывал какие должны быть параметры в настройках штатных средств SEF Joomla, поэтому предполагается, что вы уже используете эти настройки.

Но этого ещё мало, потому что ссылки будут выглядеть вот так:

 joomla no id 1

В ссылке видно цифру, которая соответствует ID материала.
Для того, чтобы убрать эти ID, потребуется сделать два исправления в файлах Joomla.

1. Правка файла config.xml

Этот файл расположен по следующему пути: корень_вашего_сайта/administrator/components/com_content/config.xml

joomla no id 2
Как ни странно, но в Joomla выше версии 1.5 уже предусмотрена функция для отключения ID материала из URL, но, почему-то, это не вынесено в настройки.
Действия, описанные ниже, позволят визуализировать эту функцию в настройках материалов.

Итак, необходимо в файле config.xml после строчки  description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC">  добавить код

<field name="sef_advanced_link"
   type="radio"
   default="1"
   label="SEF: Удалить ID материала из URL?"
   description="Удаление ID материала в ссылке URL">
   <option value="0">JNO</option>
   <option value="1">JYES</option>
</field>

 

В итоге у вас должно получиться следующее:

joomla no id 3

Теперь, если вы зайдёте в админку сайта, откроете менеджер материалов и выберите "Настройки", то во вкладке "Материалы" будет видна необходимая нам опция.

joomla no id 4

По умолчанию у нас уже высталено значение "Да", но вы всегда сможете его изменить.

Проделанные действия убирают ID материала из ссылки, но этого не достаточно. Некоторые страницы будут вываливаться с ошибкой 404! Поэтому, обязательно выполните следующий пункт, даже если вам показалось, что в вашем случае всё и так хорошо и ошибок никаких нет!

2.  Правка файла router.php

Данный файл расположен по адресу: корень_вашего_сайта/components/com_content/router.php

joomla no id 6

В этом файле ищем строчку if ($count == 1) и меняем её на if ($count == 1 && !$advanced) 
В итоге должно получиться так, как показано на рисунке

joomla no id 7

для Joomla 3 возможно понадобится в этом же файле изменить
where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));
на where($db->quoteName('alias') . ' = ' . $db->quote($segment));

Вот теперь ссылки будут без лишних цифр!

joomla no id 5

Stanislav

Master's Degree

Сайт: skopil.ru
Авторизуйтесь, чтобы получить возможность оставлять комментарии

Новые статьи

  • Joomla 3.x Добавление позиций в шаблон на фреймворке Helix 3
    Joomla 3.x Добавление позиций в шаблон на фреймворке Helix 3

    С помощью фреймворка Helix сделано множество шаблонов. Конструктор позволят делать многие операции быстро и визуально понятно. Однако с версткой макета есть один нюанс.

    Подробнее ...
  • Сбой при обновлении расширений Regular Labs
    Сбой при обновлении расширений Regular Labs

    Давно пользуюсь различными расширениями от студии Regular Labs, но недавно при очередном обновлении через панель администратора Joomla я получил ошибку обновления. При этом не все расширения выдавали такую ошибку. Разумеется, решение было найдено, делюсь :)

    Подробнее ...
  • Adobe Photoshop - чёрный экран при создании нового файла
    Adobe Photoshop - чёрный экран при создании нового файла

    Новые фишки от компании Adobe видимо работают не на всех устройствах, то ли видеопроцессоры не тянут, то ли ещё какие заморочки, но суть в том что многие сталкиваются с проблемой сразу при открытии Adobe Photoshop и видят черный экран. А при создании нового файла наблюдается пустое серое окно, что тоже не очень приятно. В этой статье опишу как исправить это.

    Подробнее ...
  • Intel Dual Band Wireless-AC 7260. Ошибки.
    Intel Dual Band Wireless-AC 7260. Ошибки.

    Для тех, кто решил установить себе модуль WiFi/Bluetootth с поддержкой двух диапазонов WiFi от компании и столкнулся с ошибками Bluetooth код 43 или код 10, а также с отсутствием поддержки режима "ac" WiFi, собственно и пригодится данная статья, в которой я опишу решение данных проблем.

    Подробнее ...
  • RSForm прокрутка вверх страницы многостраничной формы
    RSForm прокрутка вверх страницы многостраничной формы

    Рассмотрим еще одно небольшое, но очень важное усовершенствование мощного конструктора форм RSForm для CMS Joomla. На этот раз затронем многостраничную форму, когда очень большая форма разбивается с помощью инструмента "Разделитель страниц" на несколько страниц с навигацией. Не расписываю как это делается, предполагается, что у нас уже есть подобная форма и нужно её немного поправить для лучшей визуализации.

    Подробнее ...
  • RSForm маска ввода телефона
    RSForm маска ввода телефона

    Столкнулся с очень интересным и мощным конструктором форм RSForm под управлением Joomla CMS. Кто хоть раз им пользовался понимает, что функционал данного конструктора сразу не освоить, а умеет этот компонент очень много! Не буду сильно расписывать данный конструктор, а перейду непосредственно к теме статьи. Хочу поделиться простым способом подключения ввода телефонного номера по определенной маске.

    Подробнее ...
  • Страница 404 ошибки в Joomla 3 с помощью пункта меню
    Страница 404 ошибки в Joomla 3 с помощью пункта меню

    Ранее в статье Страница 404 ошибки в Joomla 3.9 был описан способ подключения страницы с помощью штатного материала Joomla. Однако, это не всегда подходит, особенно в сложных шаблонах, где используются конструкторы контента. В данной статье речь пойдет о способе подключения страницы 404 используя пункт меню, что позволит подключить страницу в любом оформлении.

    Подробнее ...