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

voland

  • Легенда
  • 10156
  • 554 / 108
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #30 : 03.10.2015, 19:43:08 »
Хм, судя по этому в 2.5 БЫЛА ВОЗМОЖНОСТЬ переопределить в шаблоне! А в трёшке уже нет.
*

R31rus

  • Давно я тут
  • 523
  • 2 / 0
  • «Нас Reboot, а мы крепчаем»
Re: Как убрать ID из URL Joomla 3?
« Ответ #31 : 03.10.2015, 19:58:07 »
Сделать то могу, только с голода помру же.

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

jorevo

  • Давно я тут
  • 596
  • 12 / 1
Re: Как убрать ID из URL Joomla 3?
« Ответ #32 : 19.10.2015, 21:30:56 »
Никто не написал плагин для переопределения роутера еще что ли? Для Joomla 3.4

Дык вроде и для более ранних жумл ничего такого не было?! Нет ну понятно что есть всякие sh404SEF, JoomSEF, mijosef. Но это всё из пушки по воробьям. Фактически хочется некий sef_light который бы объединил в себе возможности плагина Direct Alias Pro https://alterbrains.com/joomla-extensions/seo/direct-alias-pro и возможностью задать альтернативный суффикс для расширения (ну то есть чтобы было .php вместо .html). Как это сделать я в курсе, но хотелось бы в виде плагина, чтобы без хаков, чтобы после каждого обновления роутера не править ручками. Хотя конечно думаю надо дождаться 3.5... ибо непонятно что именно там хотят в роутере поменять.
*

shurakana

  • Давно я тут
  • 792
  • 49 / 6
Re: Как убрать ID из URL Joomla 3?
« Ответ #33 : 17.12.2015, 20:22:30 »
Как раз занимался этой темой, опять прочел кучу мануалов бестолковых, решил сам покопаться, и, вы не поверите, но я в файле components\com_content\router.php в методах build и parse заменил:

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

заменил 0 на 1-ку, и все заработало, вот это да..)

UPD: Стандартный модуль с новостями также работает, без проблем..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

voland

  • Легенда
  • 10156
  • 554 / 108
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #34 : 17.12.2015, 20:43:02 »
В соседней теме жалуются что ссылки из поиска не работают с таким решением
*

shurakana

  • Давно я тут
  • 792
  • 49 / 6
Re: Как убрать ID из URL Joomla 3?
« Ответ #35 : 17.12.2015, 20:59:27 »
В соседней теме жалуются что ссылки из поиска не работают с таким решением
Все работает, ну я этот, индексированный поиск какой то попробовал.. или "умный", как там его..)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #36 : 02.01.2016, 15:42:35 »
Перспективы удаления идентификаторов из URL на уровне "ядра" остаются неясными: чувак из продвинутых контрибьюторов, пообещал "золотые горы", срубил кучу бабла с народа и слился, не оставив и следа. Мне это всё надоело, и поэтому я создал бесплатное расширение для удаления ID из ссылок, потому как устанавливать тяжёлые SEF-компоненты, которые, к тому же ещё и денег нехилых стоят, для такой банальной цели совершенно не хочется. Кому нужно, пожалуйста, пользуйтесь: http://joomlaforum.ru/index.php/topic,322516.0.html.
*

yarche

  • Захожу иногда
  • 84
  • 1 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #37 : 22.03.2016, 17:16:52 »
Кто-нибудь уже делал апдейт до новой Joomla 3.5?
Что там с роутером: будет ли работать прежний способ?
Боюсь делать апдейт, пока нет ясности. Иначе слетят еще все ссылки.

Изменение всюду
Код
$advanced = $params->get('sef_advanced_link', 0);
на
Код
$advanced = $params->get('sef_advanced_link', 1);
+
комментирование кода
Код
if (strpos($segments[0], ':') === false)
{
$vars['view'] = 'article';
$vars['id'] = (int) $segments[0];
return $vars;
}
+
изменение
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));
на
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($segment));
*

babay86

  • Новичок
  • 17
  • 1 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #38 : 06.04.2016, 15:33:22 »
Можно ведь сделать плагин для добавления в настройках com_content параметра sef_advanced_link.
После обновления движка ничего не слетит.
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #39 : 06.04.2016, 15:36:36 »
Цитировать
Можно ведь сделать плагин для добавления в настройках com_content параметра sef_advanced_link.
sef_advanced_link не панацея. Например, при малейшем конфликте одноимённых алиасов из разных категорий ничего не будет работать.
*

babay86

  • Новичок
  • 17
  • 1 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #40 : 06.04.2016, 16:36:09 »
sef_advanced_link не панацея. Например, при малейшем конфликте одноимённых алиасов из разных категорий ничего не будет работать.
Материалы с одинаковыми алиасами в разных категориях, работает

домен/категория1/категория2/материал1
домен/категория1/категория3/материал1

ошибок нет.
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #41 : 06.04.2016, 16:52:34 »
Там совокупность факторов играет роль. Ошибок может и не быть, а могут и возникнуть. В любом случае - это не решение, а хак. Основываясь на хаке, делать плагин не возьмется ни один серьёзный разработчик.
*

babay86

  • Новичок
  • 17
  • 1 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #42 : 06.04.2016, 17:36:45 »
Не понятно тогда зачем в router добавили этот параметр
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #43 : 06.04.2016, 18:08:48 »
Не понятно тогда зачем в router добавили этот параметр
Возможно, когда делали роутер (а это было лет 10 назад), планировали ввести в функционал какую-то опцию, а затем отказались от этой идеи. Но это всего-лишь моё предположение.
*

skidrow

  • Захожу иногда
  • 72
  • 0 / 0
  • alien_halite
Re: Как убрать ID из URL Joomla 3?
« Ответ #44 : 07.04.2016, 19:56:22 »
Спасибо, добрый человек! Голосую рублём!
*

alex-143390

  • Захожу иногда
  • 92
  • 0 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #45 : 05.05.2016, 23:52:08 »
Версия 3.5.1.
После изменения /router.php

пропали все материалы, которые были в категориях - остались лишь те, которые привязаны к пункту меню. Что делать?
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #46 : 06.05.2016, 00:30:55 »
Версия 3.5.1.
После изменения /router.php

пропали все материалы, которые были в категориях - остались лишь те, которые привязаны к пункту меню. Что делать?
А вот и пример пожаловал :) Недавно как-раз говорили про вас. Меняйте всё как было, попробуйте мой плагин: http://joomlaforum.ru/index.php/topic,322516.0.html
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #47 : 11.05.2016, 17:57:38 »
Здравствуйте все. Обучаюсь сейчас CMS Joomla, скачал зарубежный шаблон. И вроде бы все работает, но одна кнопка, которая должна открыть материал не работает и по её нажатию URL имеет такую конструкцию:
index.php?option=com_content&view=article&id=38&catid=14&Itemid=101

Я почитав темы на форуме и не только, понял что можно попробовать откинуть лишнее, вручную я откинул до такого формата и на материал стало переходить и отображать его:
index.php?option=com_content&view=article&id=38

Но к сожалению я так и не понял как мне убрать автоматически вот этот кусок при переходе: "&catid=14&Itemid=101", перепробовал варианты, не помогло. Подскажите где в router.php убрать это лишнее? Или что можно сделать?
*

Oganes

  • Новичок
  • 1
  • 0 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #48 : 01.06.2016, 13:43:45 »
Удалить ID материала из ссылок в Joomla 3.5.1

Делаем несколько вот таких шагов:

1. Заменяем в файле /components/com_content/router.php

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

на

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

2. Меняем строку (в этом же файле)

if ($count == 1)
на
if ($count == 1 && !$advanced)

4. В файл \administrator\components\com_content\config.xml добавляем параметр сразу же после строки description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_DESC">:

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

5.  Необходимо файл сохранить и перейти в административную панель сайта.



В меню Материалы/Менеджера материалов. Ищем кнопку "Настройки" (располагается в верхней части страницы).
Во всплывающем окне с настройками во вкладке Материалы находим пункт SefAdvancedModeс двумя радио переключателями "Нет" и "Да". Проверяем, чтобы был выделен переключатель "Да" (он должен быть выделен по умолчанию), при необходимости активируем нужный пункт. Сохраняем.



Очищаем кэш и все.
*

yarche

  • Захожу иногда
  • 84
  • 1 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #49 : 17.07.2016, 22:32:56 »

Изменение всюду
Код
$advanced = $params->get('sef_advanced_link', 0);
на
Код
$advanced = $params->get('sef_advanced_link', 1);
+
комментирование кода
Код
if (strpos($segments[0], ':') === false)
{
$vars['view'] = 'article';
$vars['id'] = (int) $segments[0];
return $vars;
}
+
изменение
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($db->quote($segment)));
на
Код
->where($db->quoteName('alias'). ' = ' . $db->quote($segment));

Кто-нибудь уже делал апдейт до новой Joomla 3.6.0?
Будет ли работать прежний вышеуказанный способ?
Боюсь делать апдейт, пока нет ясности. Файл router.php немного иной, насколько я вижу. По крайней мере, третье изменение делать не нужно. Там уже и так прописано  $db->quote($segment))
*

ChaosHead

  • Гуру
  • 5052
  • 438 / 13
Re: Как убрать ID из URL Joomla 3?
« Ответ #50 : 30.08.2016, 12:29:10 »
На мой взгляд, самый крутой способ убрать ID из материалов - это плагин Kazaam, который автоматически привязывает материалы и категории к пунктам меню.
http://extensions.joomla.org/extension/structure-a-navigation/menu-systems/kazaam
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #51 : 30.08.2016, 15:46:24 »
На мой взгляд, самый крутой способ убрать ID из материалов - это плагин Kazaam, который автоматически привязывает материалы и категории к пунктам меню.
http://extensions.joomla.org/extension/structure-a-navigation/menu-systems/kazaam
Чем он крутой? Тем что базу раздувает впустую и плодит тучу ненужных пунктов меню?
Если пунктов меню более 500, Joomla уже начинает сдыхать при построении путей.
« Последнее редактирование: 30.08.2016, 15:57:15 от Филипп Сорокин »
*

ChaosHead

  • Гуру
  • 5052
  • 438 / 13
Re: Как убрать ID из URL Joomla 3?
« Ответ #52 : 30.08.2016, 16:58:47 »
Чем он крутой? Тем что базу раздувает впустую и плодит тучу ненужных пунктов меню?
Если пунктов меню более 500, Joomla уже начинает сдыхать при построении путей.
Только что поставили на сайт товарищу с форума leo78 http://joomlaforum.ru/index.php?action=profile;u=6883, точно не знаю сколько у него материалов, но думаю не менее 400, можете у него спросить. Проседания в скорости никакого не замечено.
Да и я сомневаюсь, что за хостинг такой должен быть, чтобы от 500 пунктов меню Joomla сдыхала :/ Ну будет он искать по таблице, ну будет права проверять. Даже чтобы от полнотекстового поиска база начала тупить - это нужно от 50 000 материалов на VPS. И то это при первом открытии статьи, а потом XX минут будет из кэша браться готовый результат.
« Последнее редактирование: 30.08.2016, 17:03:37 от ChaosHead »
*

voland

  • Легенда
  • 10156
  • 554 / 108
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #53 : 30.08.2016, 17:07:21 »
Только что поставили на сайт товарищу с форума leo78 http://joomlaforum.ru/index.php?action=profile;u=6883, точно не знаю сколько у него материалов, но думаю не менее 400, можете у него спросить. Проседания в скорости никакого не замечено.
Да и я сомневаюсь, что за хостинг такой должен быть, чтобы от 500 пунктов меню Joomla сдыхала :/ Ну будет он искать по таблице, ну будет права проверять. Даже чтобы от полнотекстового поиска база начала тупить - это нужно от 50 000 материалов на VPS. И то это при первом открытии статьи, а потом XX минут будет из кэша браться готовый результат.
Там идет сильный рост (более чем квадратичный) - очень ощутимо при 1000+ и просто нереально на 10к+
Такие дела, я кстати решение выкладывал, но оно тестируется
*

Филипп Сорокин

  • Сорокин Band
  • 1880
  • 153 / 4
  • разработчик.москва
Re: Как убрать ID из URL Joomla 3?
« Ответ #54 : 30.08.2016, 17:08:41 »
Проседания в скорости обязательно будут, даже если вы этого не заметите, ваш сервер примет лишние 10кг перед чемпионским рывком. Я тоже сначала хотел пойти по этому пути в своём компоненте, затем провёл тесты и выяснил, что 1 запрос БД и пара регулярок работает намного быстрее, чем при создании несколько сотен абсолютно ненужных фантомных меню.
*

ChaosHead

  • Гуру
  • 5052
  • 438 / 13
Re: Как убрать ID из URL Joomla 3?
« Ответ #55 : 30.08.2016, 17:27:25 »
Ок, убедили, значит это только для маленьких сайтов.
*

zoob32

  • Новичок
  • 10
  • 0 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #56 : 12.09.2016, 16:28:20 »
Ктот уже уберал ID из версии Joomla 3.6.0 ?
буду благодарен если подскажете как
*

zoob32

  • Новичок
  • 10
  • 0 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #57 : 12.09.2016, 16:29:28 »
Кто-нибудь уже делал апдейт до новой Joomla 3.6.0?
Будет ли работать прежний вышеуказанный способ?
Боюсь делать апдейт, пока нет ясности. Файл router.php немного иной, насколько я вижу. По крайней мере, третье изменение делать не нужно. Там уже и так прописано  $db->quote($segment))
у вас получилось убрать ID из Joomla 3.6.0 ?
*

zoob32

  • Новичок
  • 10
  • 0 / 0
Re: Как убрать ID из URL Joomla 3?
« Ответ #58 : 21.09.2016, 17:34:54 »
Там идет сильный рост (более чем квадратичный) - очень ощутимо при 1000+ и просто нереально на 10к+
Такие дела, я кстати решение выкладывал, но оно тестируется
Доброго времени суток у вас получилось удалить ID из УРла ? у меня не работает данный способ на Joomla! 3.6.0   (( не появляется пункт в настройках для выбора
*

voland

  • Легенда
  • 10156
  • 554 / 108
  • Эта строка съедает место на вашем мониторе
Re: Как убрать ID из URL Joomla 3?
« Ответ #59 : 21.09.2016, 20:56:35 »
Доброго времени суток у вас получилось удалить ID из УРла ? у меня не работает данный способ на Joomla! 3.6.0   (( не появляется пункт в настройках для выбора
А я и не пробовал. Хак ядра же.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться