0 Пользователей и 1 Гость просматривают эту тему.
  • 128 Ответов
  • 80425 Просмотров
*

miishl

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как убрать ID из ссылок?
« Ответ #60 : 30.10.2012, 20:21:46 »
А я сделал в версии 2.5.6 совсем по другому и все работает ^-^

Редактируем файл Router.php находящийся в ваш_сайт/components/com_content/

Нажимаем CTRL+F (запускаем поиск) и ищем

     $params->get('sef_advanced_link',

должно найти 2 результата, первая примерно на 27й строке в функции function ContentBuildRoute(&$query) и вторая на 208й строке в функции function ContentParseRoute($segments). Если не находит, поищите по функциям или по номеру строк. И в найденных строках

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

меняем 0 на 1 в обоих строках.



Чуть ниже где то на 228й строке находим if (strpos($segments[0], ':') === false) { (можете через поиск)

     if (strpos($segments[0], ':') === false) {

          $vars['view'] = 'article';

          $vars['id'] = (int)$segments[0];

          return $vars;

     }

и комментируем все пять строк подряд начиная с /* и заканчивая */



Нашел этот способ тут
половина материалов перестала открываться, вылетает 404 ошибка ((
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Re: Как убрать ID из ссылок?
« Ответ #61 : 04.11.2012, 21:58:25 »
Я так понимаю, правильная настройка роутера существует, только вот написать ни кто не хорчет это, потому как на этом некоторые зарабатывают.

Я прав?!
Кривизна рук не компенсирует прямизну извилин.
*

kosty56rus

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Re: Как убрать ID из ссылок?
« Ответ #62 : 12.11.2012, 12:04:51 »
половина материалов перестала открываться, вылетает 404 ошибка ((
Нужно только поменять значение 0 на 1. Коментировать кусок кода не нужно, и все ок нет в ссылках ID(у меня на Joomla 3.0 так)
*

miishl

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как убрать ID из ссылок?
« Ответ #63 : 12.11.2012, 14:57:22 »
Нужно только поменять значение 0 на 1. Коментировать кусок кода не нужно, и все ок нет в ссылках ID(у меня на Joomla 3.0 так)
поменял - ID остались, но хоть и все статьи живы
*

kosty56rus

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Re: Как убрать ID из ссылок?
« Ответ #64 : 16.11.2012, 10:16:57 »
поменял - ID остались, но хоть и все статьи живы
Незнаю уже на трех сайтах менял, все убирается (joomla 2.5 и 3.0)
P.S. Вы в обоих значениях меняете 0 на 1? Там одно за ID материала другое за ID категории отвечает.
*

miishl

  • Захожу иногда
  • 55
  • 0 / 0
Re: Как убрать ID из ссылок?
« Ответ #65 : 18.11.2012, 02:56:13 »
Незнаю уже на трех сайтах менял, все убирается (joomla 2.5 и 3.0)
P.S. Вы в обоих значениях меняете 0 на 1? Там одно за ID материала другое за ID категории отвечает.
оба два меняю.
на 10 чтоле строке и свыше 200й
*

kosty56rus

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Re: Как убрать ID из ссылок?
« Ответ #66 : 20.11.2012, 08:06:21 »
оба два меняю.
на 10 чтоле строке и свыше 200й
Значит у Вас в шаблоне скорее всего нужно менять. Посмотрите шаблон/html/com_content есть файл router.php если да то в нем меняйте.
*

dimmer

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Re: Как убрать ID из ссылок?
« Ответ #67 : 20.11.2012, 15:36:58 »
Joomla 2.5. Поменял в двух местах 0 на 1 как написал Lrad. Вроде все заработало. Но сегодня заметил, что некоторые статьи выдают 404. Если вернуть старый router.php, то все работает как надо. Нашел закономерность: если в ссылке есть 20%, то она не открывается. Почему-то в некоторых случаях Feedgator делает alias с пробелами и измененный роутер с ними не справляется.
« Последнее редактирование: 20.11.2012, 18:40:23 от dimmer »
*

Silent_Breeze

  • Захожу иногда
  • 171
  • 33 / 0
Re: Как убрать ID из ссылок?
« Ответ #68 : 21.11.2012, 00:16:46 »
Этот вариант работает только если на нужную страницу можно попасть через пункт меню. Если указываем ссылку внутри статьи на другую статью, то получаем 404. В общем не совсем рабочий этот варант... И заметил ещё один побочный глюк. В менеджере ссылок в JCE 2.9.1 перестаёт работать поиск по материалам...(хотя, возможно, просто так совпало, но после возвращения взад всё опять заработало нормально)
Здесь всё есть... просто нужно поискать немного... ;)
*

grishka1991

  • Новичок
  • 7
  • 0 / 0
Re: Как убрать ID из ссылок?
« Ответ #69 : 03.12.2012, 12:34:20 »
Подскажите пожалуйста, а как бороться с дублями страниц материалов - с ID и без ID?


нашел решение - вот этот плагин от sherza - http://joomlaforum.ru/index.php/topic,156030.210.html
« Последнее редактирование: 03.12.2012, 12:50:16 от grishka1991 »
*

llektor

  • Захожу иногда
  • 214
  • 2 / 2
Re: Как убрать ID из ссылок?
« Ответ #70 : 13.01.2013, 16:09:28 »
Плагин хороший и работает нормально и пагинация работает жаль только что дубли есть
*

anbarter

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Как убрать ID из ссылок?
« Ответ #71 : 27.01.2013, 00:13:22 »
Все работает. Только не помогло для форума Kunena. Аналогичная ситуация - добавляется id в ссылки материалов.

Цитировать
и комментируем все пять строк подряд начиная с /* и заканчивая */

А зачем это нужно? Если и без этого id уже не выводится. Все материалы открываются корректно.
« Последнее редактирование: 27.01.2013, 13:16:59 от anbarter »
*

Савелий

  • Новичок
  • 1
  • 0 / 0
  • http://www.nn1.su/
Re: Как убрать ID из ссылок?
« Ответ #72 : 13.07.2013, 20:56:07 »
Сложновата Joomla для меня, но интересная.
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #73 : 13.10.2013, 13:43:44 »
На Joomla 3.1 у меня не работает ни первый метод, ни второй. В первом случае ссылки начинают отдавать 404-ю ошибку (router.php правил), во втором вообще нет никаких видимых изменений.
Для Joomla 3.1 есть рабочее решение?
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #74 : 13.10.2013, 13:47:34 »
Вроде решали тут -
Как убрать ID из URL Joomla 3?
поищите поиском, были еще темы
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #75 : 13.10.2013, 14:02:25 »
Update:

На Joomla 3.1 у меня заработало другое решение.
После правки файла «\administrator\components\com_content\config.xml» и активации опции в админке, я открыл файл «router.php», нашел в нем строку:
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));
... и заменил ее на:
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($segment));

Вроде все работает. Но у меня вопрос к специалистам — насколько корректен этот метод?
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #76 : 13.10.2013, 14:03:50 »
Вроде решали тут
В той теме готовый router.php выложили без объяснения. Стремновато как-то.
Кстати говоря, там похоже как раз используется решение из моего предыдущего сообщения.
Сможете прокомментировать, все ли верно?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #77 : 14.10.2013, 10:12:51 »
Update:

На Joomla 3.1 у меня заработало другое решение.
После правки файла «\administrator\components\com_content\config.xml» и активации опции в админке, я открыл файл «router.php», нашел в нем строку:
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));
... и заменил ее на:
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($segment));

Вроде все работает. Но у меня вопрос к специалистам — насколько корректен этот метод?
Второй конечно корректен. Первый с двойным quote - неверный.
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #78 : 14.10.2013, 10:28:32 »
Второй конечно корректен. Первый с двойным quote - неверный.

Первый с двойным quote — вариант из оригинального router.php из Joomla 3.1. Баг?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #79 : 14.10.2013, 10:48:20 »
Первый с двойным quote — вариант из оригинального router.php из Joomla 3.1. Баг?
Получается, что так. Advanced вариант не используется, поэтому этого никто и не заметил. Надо PR делать.
Кстати, если оставить как есть, с двойным quote, то ошибку выдает?
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #80 : 14.10.2013, 10:52:58 »
Да, если оставить с двойным quote, то при активации Advanced ID-шники из урлов убираются, но все страницы отдают 404-ю ошибку.
Если с одинарным, и Advanced вариант активирован — то вроде все работает корректно (ID-шников в урлах нет, страницы грузятся нормально).
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #81 : 14.10.2013, 11:13:56 »
Да, если оставить с двойным quote, то при активации Advanced ID-шники из урлов убираются, но все страницы отдают 404-ю ошибку.
Если с одинарным, и Advanced вариант активирован — то вроде все работает корректно (ID-шников в урлах нет, страницы грузятся нормально).
Ок, тогда сделаю на днях Pull Request. По идее должны будут в 3.2 добавить.
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #83 : 14.10.2013, 17:54:36 »
Поторопился я, указанный метод работает не до конца корректно, некоторые страницы все же отдают 404-ю ошибку.
Причем я нашел закономерность, при которой страница начинает отдавать ошибку. Если в алиасе присутствуют дефисы (то есть он состоит из нескольких слов), то все работает как положено. Если же в алиасе дефисов нет (одно слово), то страница выдает 404.
В принципе, ручная правка алиасов для статей с однословными названиями решает проблему, но хотелось бы все же обойтись без этих махинаций.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #84 : 14.10.2013, 18:01:26 »
Ну это не зависит от двойного quote. Тут явно дело в другом.
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #85 : 14.10.2013, 18:03:57 »
Я и не пытаюсь найти связь с двойным quote. Еще один баг.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #86 : 14.10.2013, 18:10:00 »
Я и не пытаюсь найти связь с двойным quote. Еще один баг.
Это не будут править (пока). Режим то не используется и не рекомендуется к использованию (поэтому и скрыт). Кроме того, в J4 мы скорее всего наконец-то увидем новый роутер (работа над ним идет).
*

Pavel M

  • Захожу иногда
  • 103
  • 8 / 0
  • Учиться никогда не поздно
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #87 : 14.10.2013, 20:54:40 »
Ребята, уже вроде было найдено решение. Я писал об этом в блоге.

Если вкратце, то для отображения ссылки из одного слова нужно кусок:

Код
// 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 3.1
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #88 : 15.10.2013, 09:49:24 »
Павел, спасибо, так действительно однословные алиасы работают.

Итого, чтобы Advanced-режим заработал нормально, нужно добавить опцию в «com_content\config.xml» и внести два изменения в «router.php» (убрать двойной quote и добавить «&& !$advanced»).

И если со внесением опции в «config.xml» в релиз вопрос быть может спорный, то оба изменения в «router.php» хорошо бы внести в ядро в ближайшее время (вероятно, в Joomla 3.2). Как минимум, от этих изменений никому не будет вреда. А те, кто захочет все же воспользоваться Advanced-режимом, будут лишены неприятностей, связанных с отлавливанием и ручной правкой багов.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: [FAQ] Как убрать ID из ссылок?
« Ответ #89 : 15.10.2013, 10:03:24 »
Ок, я как раз вчера обновил свой joomla-cms репозиторий и подготовился к PR. Сегодня вечером сделаю ^_^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[FAQ] Как убрать <meta name="generator" content="Joomla! 2.5 - Open Source Content Management" />

Автор neket

Ответов: 56
Просмотров: 311905
Последний ответ 05.11.2020, 20:00:15
от Grigoriy82
Убрать название пункта меню из URL материала

Автор fortuner

Ответов: 15
Просмотров: 8170
Последний ответ 31.10.2020, 00:46:04
от spas
Как убрать < class="moduletable ">на лицевой части сайта?

Автор indes

Ответов: 11
Просмотров: 3728
Последний ответ 07.05.2020, 17:35:38
от beliyadm
как убрать ?limitstart=0

Автор nbserg

Ответов: 38
Просмотров: 16370
Последний ответ 24.08.2018, 20:50:05
от Vasiliy111
Убрать поле подтверждения e-mail при регистрации

Автор cartgen

Ответов: 5
Просмотров: 7872
Последний ответ 01.05.2018, 16:56:07
от kasper9820