1 1 1 1 1 1 1 1 1 1 Рейтинг: 4.00 - 1 отзыв

Решение. Как убрать ID из ссылки? Родное ЧПУ Joomla делает ссылки http://мойсайт.рф/1-категория/1001-статья, то есть пишет id и категории и статьи.

Как убрать ID из ссылки Joomla 2.5

 

Убираем ID материала и категории в урле Joomla

денежный трактор

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

Скажем ссылка на статью "Конфликт при изменении прав пользователя", смотрится приятнее

http://rtr24.ru/joomla/конфликт-при-изменении-прав-пользователя,

чем http://rtr24.ru/joomla/konflikt-pri-izmenenii-prav-polzovatelya, но особенно это заметно на кириллических доменах рф. 


Ищем файл router.php  мойсайт.рф\components\com_content.

Ориентировочно в строке 25, заменяем:
 $advanced = $params->get('sef_advanced_link', 0); 

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

 



Где-то, в строке 205, изменяем:

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

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



Примерно c 226 по 230 строчки:

менять:
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;
}*/

Вот и убрали мы ID из ссылки Joomla 2.5.

 

денежный трактор

Есть еще один способ.

Убрать ID из урла Joomla

public_html\administrator\components\com_content файл config.xml.

Добавляем код

<field name="sef_advanced_link"
type="radio"
default="1"
label="SEF: Remove article ID from URL"
description="Remove ArticleID from URL?">
<option value="0">JNO</option>
<option value="1">JYES</option>
</field>

Теперь в Менеджер материалов - Настройки, прибавится пункт SEF: Remove article ID from URL. Выбираем "Да" и ID из URL в Joomla, исчезает, словно 2 сайта на одном домене в руках опытного админа.

Есть нюанс. Если некоторые статьи, после манипуляций с отказом от выведения ID в ссылке Joomla, выдают ошибку 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) {

Проблем с ID в урлах статей в Joomla, больше не будет.

Но надо помнить о том, что после обновления Joomla, все это нужно будет повторить.

Добавить комментарий

Защитный код
Обновить