Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 81 Ответов
  • 25661 Просмотров
*

SaxMusicOnly

  • Захожу иногда
  • **
  • 23
  • 0
Как убрать ID из URL Joomla 3?
« : 16.06.2013, 14:48:20 »
Уважаемые форумчане! Такая проблема: когда я убрал id из ссылок на материалы постоянно выскакивает ошибка 404 (и на новые материалы тоже). Как убрать такую ошибку? Заранее спасибо!
Internet Explorer - лучшая программа, для того чтобы зайти на google.com/chrome и скачать себе браузер!
*

noel502

  • Новичок
  • *
  • 8
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #1 : 07.07.2013, 00:09:29 »
я убирал таким способом
http://vmalkov.ru/joomla/kak-udalit-id-iz-url-v-joomla-2-5-i-3
и в итоге вылезает 404. помогите
*

Dobreff

  • Давно я тут
  • ****
  • 214
  • 5
Re: Как убрать ID из URL Joomla 3?
« Ответ #2 : 30.07.2013, 22:07:21 »
на тебе router.php, для Joomla 3.1.1
Спойлер
[свернуть]
*

SaxMusicOnly

  • Захожу иногда
  • **
  • 23
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #3 : 31.07.2013, 11:21:19 »
Сейчас попобую
Internet Explorer - лучшая программа, для того чтобы зайти на google.com/chrome и скачать себе браузер!
*

SaxMusicOnly

  • Захожу иногда
  • **
  • 23
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #4 : 01.08.2013, 18:47:42 »
Все сработало, спасибо
Internet Explorer - лучшая программа, для того чтобы зайти на google.com/chrome и скачать себе браузер!
*

som555

  • Захожу иногда
  • **
  • 16
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #5 : 23.08.2013, 14:37:16 »
А обновленный router.php можно в шаблон запихнуть, чтобы обновление его не переписывало? Где его(router.php) разместить?
*

biosila

  • Осваиваюсь на форуме
  • ***
  • 84
  • 3
Re: Как убрать ID из URL Joomla 3?
« Ответ #6 : 08.09.2013, 18:31:13 »
на тебе router.php, для Joomla 3.1.1
Спойлер
[свернуть]


Спасибо большое.
Если не трудно, что конкретно вы поменяли в router.php ?
*

alexeii

  • Новичок
  • *
  • 7
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #7 : 12.09.2013, 16:13:44 »
Спасибо большое, все работает.
Был вопрос, но уже решился.
« Последнее редактирование: 12.09.2013, 17:57:52 от alexeii »
*

ruppert

  • Осваиваюсь на форуме
  • ***
  • 54
  • -2
Re: Как убрать ID из URL Joomla 3?
« Ответ #8 : 23.12.2013, 10:36:29 »
на тебе router.php, для Joomla 3.1.1

Такой вариант работает только с простецким сайтом и на родном компоненте контента. Шаг влево/вправо - каюк. Даже JCE не открывает ссылку на статью в поп-апе (через медиабокс). Сторонние расширения так же глючат (у меня Joomla 3.2.1). Как же всё-таки решить вопрос?
Может нужно применить этот роутер на всём сайте? У меня 12 роутеров насчиталось. Я делал только com_content. Проясните ситуацию, пожалуйста.
*

Dgikar

  • Осваиваюсь на форуме
  • ***
  • 159
  • 3
Re: Как убрать ID из URL Joomla 3?
« Ответ #9 : 10.01.2014, 06:51:08 »
на тебе router.php, для Joomla 3.1.1
Подскажите, куда (в какой файл) этот код пихать для статей Joomla?
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

20dollars

  • Давно я тут
  • ****
  • 236
  • 2
Re: Как убрать ID из URL Joomla 3?
« Ответ #10 : 18.02.2014, 14:59:35 »
Для Joomla 3.1.5 не работает. никаких изменений в url
*

danavir

  • Осваиваюсь на форуме
  • ***
  • 96
  • 0
  • S.DAN
Re: Как убрать ID из URL Joomla 3?
« Ответ #12 : 12.10.2014, 20:29:33 »
Посмотрим
« Последнее редактирование: 12.10.2014, 20:32:45 от danavir »
*

danavir

  • Осваиваюсь на форуме
  • ***
  • 96
  • 0
  • S.DAN
Re: Как убрать ID из URL Joomla 3?
« Ответ #13 : 12.10.2014, 20:39:13 »
Нет на 3.3 не работает. Есть какие то подвижки на настоящий момент? Решение с ID. Я использовал скрипт который кнопкой регулируется с глобальных настроек. стал выдавать 404 ошибку.
*

Yoric

  • Захожу иногда
  • **
  • 13
  • 1
Re: Как убрать ID из URL Joomla 3?
« Ответ #14 : 26.11.2014, 18:03:12 »
Версия Joomla 3.3.6 Поменял 0 на 1 iD исчез, но если добавляешь новую статью - получаешь 404 на все статьи кроме первой

Есть какие то варианты еще?
*

a.Lexus

  • Осваиваюсь на форуме
  • ***
  • 31
  • 2
Re: Как убрать ID из URL Joomla 3?
« Ответ #15 : 17.12.2014, 23:58:59 »
Удалить идентификаторы из адреса ссылок можно с помощью специальных расширений, таких как Artio JoomSEF, sh404SEF и других аналогичных программ для создания красивых ЧПУ ссылок, но эти компоненты несут большую нагрузку на сервер и устанавливаются в крайнем случае. Как правило, их ставят тогда, когда на сайте используются другие компоненты, для которых не получается сделать ЧПУ ссылки стандартным SEF плагином Joomla.

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

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

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

Код: html4strict
<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 найти строку:

Код: php
// then we assume it is a category. If they don't we assume it is an article
if ($count === 1) {

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

Код: php
// then we assume it is a category. If they don't we assume it is an article
if ($count === 1 && !$advanced) {

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

Код: php
if ($count === 1 {

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

Код: php
if ($count == 1 {


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

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

Код: php
->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));

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

Код: php
->where($db->quoteName('alias'). ' = ' . $db->quote($segment) );

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

Есть еще вариант здесь (кстати это и автор)

 ^-^
*

angemax

  • Осваиваюсь на форуме
  • ***
  • 140
  • 3
Re: Как убрать ID из URL Joomla 3?
« Ответ #16 : 02.03.2015, 01:18:50 »
В Joomla 3.3 в настройках менеджера материалов данная

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

 не появляется.

Как решить?
*

first-step

  • Новичок
  • *
  • 6
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #17 : 01.06.2015, 04:45:09 »
Проверил лично.

Работает в версии 3.4.1 , если сделать две вещи:

1. Заменяешь в /components/com_content/router.php

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

2. Закомментариваешь текст:

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

return $vars;
}*/

Про первую операцию писали все, кому не лень, а вот про вторую вычитал только здесь:

http://forum.joomla.org/viewtopic.php?f=712&t=826165&sid=e8e3dab2bed4e2021579a1a26796d79d&start=60
*

uspex

  • Новичок
  • *
  • 5
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #18 : 07.07.2015, 21:53:36 »
Извиняюсь за флуд, просто хочу выразить Огромную Благодарность за пост a.Lexus
*

RezistoR

  • Осваиваюсь на форуме
  • ***
  • 74
  • 1
  • Danger! High Voltage!
Re: Как убрать ID из URL Joomla 3?
« Ответ #19 : 29.08.2015, 21:35:01 »
Сделал полностью по инструкции, которую  a.Lexus выложил.
Все работает.
Правил все два файла.
*

virusnjk

  • Захожу иногда
  • **
  • 18
  • 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #20 : 08.09.2015, 17:55:10 »
Всё работает по этим вариантам, только не работает тогда когда у материала алиас к примеру вот такой "video" а если сделать алиас "video-1" то ошибки 404 нет.

версия 3.4.3

Почему? Как исправить что бы было без дефиса?

забыл заменить строчку в router.php
Цитировать
if ($count == 1) {
на
Цитировать
if ($count == 1 && !$advanced) {

и всё заработало.

редактирую далее пока никто не ответил, не работает в тех категориях где выставлен пункт меню как материал, а в этом материале есть ссылки на другие материалы той же категории что и первый материал
« Последнее редактирование: 08.09.2015, 19:22:41 от virusnjk »
*

R31rus

  • Завсегдатай
  • *****
  • 525
  • 2
  • «Нас Reboot, а мы крепчаем»
Re: Как убрать ID из URL Joomla 3?
« Ответ #21 : 24.09.2015, 22:55:46 »
на тебе router.php, для Joomla 3.1.1
Спойлер
[свернуть]


Спасибо большое! Этот файл подходит и для 3.4.4 версии ! Ты решил целую катастрофу. Ничего не помогало
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.
*

R31rus

  • Завсегдатай
  • *****
  • 525
  • 2
  • «Нас Reboot, а мы крепчаем»
Re: Как убрать ID из URL Joomla 3?
« Ответ #23 : 28.09.2015, 04:07:45 »
Я до сих пор не понял, зачем это делать...

Есть альтернативые решения? А то затирается при обнове...
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.
*

Taatshi

  • Support Team
  • *****
  • 4788
  • 452
Re: Как убрать ID из URL Joomla 3?
« Ответ #24 : 28.09.2015, 10:13:09 »
Я до сих пор не понял, зачем это делать...
Я тоже...
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.
*

R31rus

  • Завсегдатай
  • *****
  • 525
  • 2
  • «Нас Reboot, а мы крепчаем»
Re: Как убрать ID из URL Joomla 3?
« Ответ #25 : 28.09.2015, 10:56:55 »
Я тоже...

Ну например в поисковике при выдаче запроса выглядит так с кроказябрами:



Когда можно например сделать так:




Может я в чем-то не прав, но это на любителя!
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #26 : 03.10.2015, 07:38:23 »
Апну тему.
Никто не написал плагин для переопределения роутера еще что ли? Для Joomla 3.4
*

R31rus

  • Завсегдатай
  • *****
  • 525
  • 2
  • «Нас Reboot, а мы крепчаем»
Re: Как убрать ID из URL Joomla 3?
« Ответ #27 : 03.10.2015, 21:13:34 »
Апну тему.
Никто не написал плагин для переопределения роутера еще что ли? Для Joomla 3.4
Я пока не встречал, да и мало тех кто сделает бесплатно. Придется на пирожок давать...
Если есть добровольцы сделайте этот мир добрее ^-^
« Последнее редактирование: 03.10.2015, 21:16:53 от R31rus »
Зарплата - это еще одно доказательство того, что работать на других
невыгодно.
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #28 : 03.10.2015, 21:32:04 »
Вот вроде нужный плагин.
Но 24 бакса по нынешним временам.. дешевле новый написать..
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #29 : 03.10.2015, 21:32:39 »
Если есть добровольцы сделайте этот мир добрее ^-^
Сделать то могу, только с голода помру же.