5513808 735288423 nПриветствую Вас, уважаемые посетители моего блога о Joomla. В данной статье я покажу Вам, как можно быстро и безопасно избавиться от ID (идентификатор) материала в адресе ссылки в Joomla 2.5 и Joomla 3.

Как известно, движок Joomla добавляет в URL числовой идентификатор, который является, грубо говоря, порядковым номером материала или категории. В принципе, в нем нет ничего плохого, но выглядеть такая ссылка будет не очень красиво. Однако учтите, что ID - это специальный числовой номер, который присваивается каждому материалу отдельно. Служит он для уникализации ссылки в случае одинакового названия заголовков (например, у Вас есть 2 статьи с одинаковым названием - вот для их различия и существует ID). Соответственно, при его отключении, нельзя будет давать материалам одинаковые названия (только если они не будут находится в разных категориях).

Вот так выглядит ссылка с ID в адресе: http://joomtemp.ru/index.php/voprosy/32-stranitsa-404

Нам же нужно сделать ссылку без ID:    http://joomtemp.ru/index.php/voprosy/stranitsa-404

Удалить идентификаторы из адреса ссылок можно с помощью специальных расширений, таких как ARTIO JoomSEF, SH404SEF и других аналогичных программ для создания красивых ЧПУ ссылок, но эти компоненты несут большую нагрузку на сервер и устанавливаются в крайнем случае. Как правило, их ставят тогда, когда на сайте используются другие компоненты, для которых не получается сделать ЧПУ ссылки стандартным SEF плагином Joomla.

Мы же будем реализовывать удаление ID из ссылок с помощью небольших модификаций в системных файлах. Главное - не забывайте сохранять данные файлы при обновлении Joomla!

Отключение ID материала в Joomla 2.5 и Joomla 3 - Вариант 1

Для всего этого нам нужно будет лишь сделать некоторые модификации файлов движка, которые помогут нам добиться нужного результата. В самой Joomla (начиная с версии 1.6) уже предусмотрена функция отключения ID материала из адреса ссылок, но для открытия этой возможности нам нужно добавить в файле: корень_сайта/administrator/components/com_content/config.xml строки:


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

В принципе, эти строки можно добавить в любое место в данном файле, даже в самое начало (только не забудьте сохранить файл в кодировке UTF-8 без BOM, иначе вместо русских символов Вы увидите иероглифы). После добавления этих строк кода, Вы получили возможность включать и отключать ID из ссылок прямо из административной панели своего сайта. Для этого Вам нужно перейти в менеджер материалов и нажать "Настройки". И в настройках теперь у Вас будет находиться строка:

"Удалить ID материала в ссылке?":

Нажимаете "Да". После этого очистите кэш сайта. Теперь ссылки в Joomla 2.5 будут отображаться без ID.

Если на некоторых ссылках выскакивает 404 ошибка, то следует в файле _ваш-сайт/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) {

Внимание: Обратите внимание, что данный параметр может отличаться в разных версиях Joomla. Например, в Joomla 3 у меня было так:


if ($count === 1 {

А в Joomla 2.5 может быть вот так:


if ($count == 1 {

Поэтому старайтесь быть очень внимательными, чтобы не пришлось потом долго искать ошибку.

Важно: все категории должны быть привязаны к пунктам меню - если этого не будет, то могут возникнуть ошибки при генерации ссылок. Так же обратите внимание, что не будут работать ссылки, если название материала состоит из одного слова. Для решения этого косяка нужно опять открыть файл _ваш-сайт/components/com_content/router.php и найти строку:


->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));

И заменить её на:


->where($db->quoteName('alias'). ' = ' . $db->quote($segment) );

Только не забудьте, что при обновлении Joomla этот файл будет заменен! Поэтому настоятельно рекомендую сохранить его в отдельном месте, чтобы потом заново не вносить изменения.

Отключение ID материала в Joomla 2.5 и Joomla 3 - Вариант 2

Второй метод так же работает на Joomla 2.5 и Joomla 3. Но его минус в том, что при каждом обновлении движка нужно будет заново вносить эти изменения или просто перезаписывать файл роутера поверх нового. Итак, в этом способе мы будем работать только с файлом _ваш-сайт/components/com_content/router.php.

Для начала найдите строку (примерно 27 строка):

$advanced = $params->get('sef_advanced_link', 0);

И замените её на:

$advanced = $params->get('sef_advanced_link', 1);

Затем найдите вот эту строку (в Joomla 2.5 - 228 строка, в Joomla 3 - 250):

$advanced = $params->get('sef_advanced_link', 0);

И замените её на:

$advanced = $params->get('sef_advanced_link', 1);

Теперь опускайтесь чуть ниже (в Joomla 2.5 - строка 228, в Joomla 3 - строка 272) и находите вот этот кусок кода:

if (strpos($segments[0], ':') === false)
{
$vars['view'] = 'article';
$vars['id'] = (int) $segments[0];
return $vars;
}

И закомментируйте его (при комментировании, код перестает обрабатываться), чтобы получилось вот так:

/*if (strpos($segments[0], ':') === false)
{
$vars['view'] = 'article';
$vars['id'] = (int) $segments[0];
return $vars;
}*/

Ну или полностью удалите, тут уже решать Вам. Но лучше закомментировать его, чтобы с случае чего можно было вернуть все на место.

Теперь ссылки на Вашем сайте в Joomla 2.5 и Joomla 3 будут отображаться без ID материалов. Но в Joomla 3 могут появиться ошибки 404 при использовании данного способа - чтобы избежать этого, читайте примечание ниже.

Важное примечание для Joomla 3: если при переходе по ссылкам без ID у Вас возникает 404 ошибка, то найдите в файле _ваш-сайт/components/com_content/router.php строку 376 (в разных версиях Joomla эта строка может отличаться):

->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));

И замените её на:

->where($db->quoteName('alias') . ' = ' . $db->quote($segment));

Теперь все ссылки должны заработать и отображаться правильно и без ошибок. Я проверил ссылки, состоящие из одного слова, цифр и нескольких слов - все открывается и работает отлично без глюков и ошибок!

 

 

System.String[]System.String[]
ZT Optimizer - это стильная работа 2016 года которая выполнена для системы управления сайтом Joomla 3.5.1. Создан шаблон ZT Optimizer...
Вашему вниманию представляем джумла шаблон под названием OT Geeman. Разрабатывался данная работа на известной студией OmegaTheme. На  премиум...
YT Finch - это одна из последних работ зарубежной веб студии YooTheme. Джумла шаблон YT Finch вы сможете разработать функциональный проект о...
S5 TheClassifieds - это новая работа известных веб разработчиков Shape5. Если вы хотите разработать свой сайт на системе управления сайтом Joomla 3.3,...
YT Eat - это шаблон ориентированный на кулинарную тематику разработанный зарубежной веб студией YooTheme. Если вы хотите разработать кулинарный сайт, то...
JA Nuevo - это новая адаптивная работы созданная известной веб студией JoomlArt. Если вам нравится минималистичный стиль в дизайне, то данная работа...
GK Events - это креативная работа созданная известной веб студией GavickPro. Данную премиум тему вы можете с ориентировать под создание интернет...
YT Unity - это креативная работа выполненная для системы управления сайтом Joomla 3.x. Данный джумла шаблон разработан известной веб студией...
YT Organic - это современная работа созданная известной веб студией YooTheme. Данная креативная премиум тема отлично может подойти для разработки сайта...
Войдите на сайт под паролем администратора Нажмите на «Расширения > Менеджер шаблонов» Вы увидите окно Менеджера шаблонов. Примечание: Если Вы не...
Лучший способ борьбы с проблемным пользователем - не удалять учетную запись. Можно просто заблокировать вход в неё. Это справедливо по нескольким...
Чтобы прочесть личное сообщение от пользователя, перейдите в меню «Инструменты» и выберите «Читать сообщения» (Инструменты > Читать сообщения). На...
Вы можете изменить права пользователей черезвключение их в одну из групп пользователей. Для этого войдите в админку по адресу...
Восстановить пароль пользователя можно несколькими способами:Front-end Пользователь может сделать это самостоятельно через Ваш сайт: Убедитесь, что...
Пользователь - лицо, которое подтвердило свою подлинность путем предоставления регистрационных данных. Как правило, учетные записи пользователей созданы...
Одним из основных компонентов Joomla , входящем в исходную комплектацию, является компонент «Личных сообщений». Он дает возможность отправлять и получать...
Новые пользователи Joomla часто задают один и тот же вопрос: где хранятся статьи, фотографии, ссылки, которые были загружены? Одним словом можно сказать,...
В T3 Framework, вы с легкостью можете настроить темы шаблона, стиль и сделать другие необходимые настройки. Основные настройки. Для изменения тем,...
Добавлять пользователей на страницу контактов Joomla совсем не сложно. Для начала войдите в админку. Затем перейдите в: «Компоненты» -> «Контакты»...
Этот вводный урок расскажет о системе шаблонов Joomla! и том, как нужно с ней работать. Каково назначение шаблона? Шаблон отвечает за внешний вид сайта....
Что нового? В релизе Joomla 1.7 мы наблюдали отличную функциональность, пункты меню были полностью мультиязычны. Приятно сообщить, что версия 3.0.2...
Материалы Давайте начнём с нескольких определений. Материалы в Joomla! это информация, которую вы хотите отобразить на сайте. Обычно они состоят из...
Список Контроля Доступа (далее СКД) Система СКД Joomla! Может быть разделена на две самостоятельных системы. Одна из них контролирует доступные для...
Это руководство было создано для того, чтобы рассказать вам, как за 10 шагов поладить с Joomla 3. Надеемся, читая его, вы познакомились поближе с Joomla...
Оба этих понятия связаны. Социальные сети не могут существовать без облачных технологий, а облачные технологии становятся все более социальными.Социальные...
Как вы уже заметили, Joomla 3 выпускается с большим количеством встроенных расширений. Как посетителя сайта, расширения не интересуют, вы пользуетесь ими,...
После того как вы создали контент, следует подумать о том, как он будетот ображаться. Звучит незамысловато, но это очень важно. В последней главе мы...
Создать контент нелегко! Каждая его часть – это история. История эта может быть хорошей или не очень, может привлекать посетителей, а может заставить...
Знаем, на нашем сайте еще нет контента, но прежде чем мы создадим его, давайте посмотрим на учетные записи нашего нового веб-сайта Joomla. При установке...
Шаблон - одна из важнейших составных частей сайта. Он обеспечивает внешний вид и дизайн. Это мотивирует новых посетителей оставаться на сайте. Посетители...
На данный момент сайт и панель управления доступны только на английском языке. Это основной язык Joomla. Выбор языка доступен в инсталляторе только для...
Паника... где и что скачивать? Где устанавливать? Зачем? Как? Для того чтобы установить Joomla! на своем компьютере, необходимо создать локальный...
Joomla представляет собой бесплатную систему для создания веб-сайтов.  Это проект с открытым исходным кодом, который, как и большинство подобных...
Очень часто, даже можно сказать постоянно, сталкиваюсь с ситуацией, что домен зарегистрирован у хостера на котором находится сайт. Это может привести к...
В предыдущем посте я тестировал стандартный компонент и K2 с большим количеством материала.К сожалению Zoo тогда потестить не удалось. Сейчас же...
По работам над оптимизацией скорости работы движка пришлось подробно изучить запросы и скорость их выполнения. К сожалению, скорость работы стандартного...
или Как не допустить взлома В последнее время участились случае взломов сайтов, как на Joomla, так и на других движках.В данной статье я кратко опишу...
Capture — шаблон для Joomla 2.5 and 3.x — Интересный адаптивный шаблон для Joomla 2.5 и 3.x от профессионалов из YooTheme, созданный в октябре 2013...
Hoststacker — шаблон для Joomla 2.5 and 3.x — Отличный адаптивный шаблон для Joomla 2.5 и 3.x от YouJoomla для создания сайтов бизнес тематики. Создан в...
TheRestaurant 2 — шаблон для Joomla 2.5 and 3.x — Прекрасный адаптивный шаблон от студии IceTheme за ноябрь 2013 года для Joomla 2.5 и 3.х. Идеально...
Obelisk — шаблон для Joomla 2.5 and 3.x — Этот адаптивный шаблон для Joomla 2.5 и 3.х от студии JoomlArt за ноябрь 2013 года (обновлен до версии 1.0.3 в...
Ignite — шаблон для Joomla 2.5 and 3.x — Суперчистый адаптивный шаблон для электронной коммерции от команды профессионалов Jomlabamboo за ноябрь 2013...
Sidewinder — шаблон для Joomla 2.5 and 3.x — Превосходный адаптивный шаблон от профессионалов из Jomlabamboo за декабрь 2013 года. Шаблон создан для...
Optima — шаблон для Joomla 2.5 and 3.x — Адаптивный универсальный шаблон для Joomla 2.5 и 3.x от студии Joomshaper за ноябрь 2013 года. Этот...
Awetive — шаблон для Joomla 2.5 and 3.x — Это чистый современный адаптивный шаблон для Joomla 2.5 и 3.x от разработчиков из Joomshaper за декабрь 2013...
Закончен перевод на русский язык новой книги Хагена Графа «Joomla! 2.5 - Beginner’s Guide» — «Руководства для начинающего пользователя Joomla! 2.5»....
Закончена работа над переводом на русский язык книги Хагена Графа «Joomla! 3 — In 10 Easy Steps». Это бесплатное учебное пособие для начинающих теперь...
Сегодня я поделюсь полезным seo модулем для joomla -модуль реферер. Что он делает? — выводит список фраз по которым к нам пришли посетители из...
Что бы сделать заголовок модуля joomla ссылкой, необходимо выполнить следующие операции: Сначала копируем файл вывода модулей modules.php из...
Сегодня я таки решился побороть главную проблему великой и могучей joomla — дубли страниц. Заодно опишу что и как делать что бы вам не мучатся) И так,...
Красивые title и правильные url всегда были проблемой CMS Joomla, и новые версии j 2.5 и 3 ситуацию не исправляют. На малопосещаемых сайтах проблему...
На Joomla 1.5.22 был установлен k2 2.5.7. Все работает, кроме страницы материала. Вместо материала белый экран. Если у вас в joomla белый экран, и не...
Иногда требуется показывать определенный блок только на английской версии сайта, а на русской его скрывать, делается это не сложно: <?php if...
Зачастую устанавливая новое расширение на джумлу можно получить ошибку: JFolder::create: Обнаружен Бесконечный цикл Внимание! Не удалось переместить...
Что бы убрать копейки или центы в цене товара заходим в настройки—>валюта и ставим 0 в поле «Десятичные знаки...
Что бы уникализировать title на страницах пагинации нужно добавить в шаблон в самом начале следующий код:   <?php defined('_JEXEC') or...
Приветствую Вас, уважаемые посетители моего блога о Joomla. В данной статье я покажу Вам, как можно быстро и безопасно избавиться от ID (идентификатор)...
Рассмотрим, как создать свою страницу ошибки 404 в Joomla 2.5, 3.0 и 1.5. Ошибка 404 показывается посетителю в том случае если та страница, которую он...
Запрашиваемая страница была переименована либо удалена.System.String[]System.String[]