Форум русской поддержки Joomla!® CMS
05.12.2016, 02:24:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Joomla 3.4.5 Как убрать ID в ссылках на категории и материалы?

 (Прочитано 824 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« : 05.11.2015, 12:53:18 »

Прошу прощения за повтор, но так больше шансов что увидят и помогут

Joomla 3.4.5
Как убрать ID в ссылках на категории и материалы?
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #1 : 05.11.2015, 13:44:17 »

Если включить галочку "Удалить ID материала в ссылке?" и выбрать "Да" то при открытии новости выскакивает такая ошибка
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #2 : 05.11.2015, 14:47:20 »

Скажите мне где вы нашли "Удалить ID материала в ссылке?" В стандартном компоненте такого нет! Какой у вас комопнент?
Записан
voland
Профи
********

Репутация: +487/-86
Online Online

Пол: Мужской
Сообщений: 8704


любит наш народ всякое гавно...


« Ответ #3 : 05.11.2015, 15:25:04 »

Ого. Тоже интересно, где такая галочка.
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #4 : 05.11.2015, 15:33:22 »

http://hghltd.yandex.net/yandbtm?fmode=inject&url=http%3A%2F%2Fjoofaq.ru%2Fsozdanie-sayta-na-joomla-1-5%2Fnastroyka-rasshireniy%2Fkak-ubrat-id-materiala-iz-ssylok-v-joomla-2-5-i-joomla-3&tld=ru&lang=ru&la=1445767808&tm=1446710151&text=http%3A%2F%2Fjoofaq.ru%2Fsozdanie-sayta-na-joomla-1-5%2Fnastroyka-rasshireniy%2Fkak-ubrat-id-materiala-iz-ssylok-v-joomla-2-5-i-joomla-3&l10n=ru&mime=html&sign=7c288d93a1feaa71f40453931fb9971c&keyno=0
Записан
voland
Профи
********

Репутация: +487/-86
Online Online

Пол: Мужской
Сообщений: 8704


любит наш народ всякое гавно...


« Ответ #5 : 05.11.2015, 15:38:28 »

Тьфу ты. Ну на заборе много чего написано, но нам это малоинтересно.
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #6 : 05.11.2015, 15:41:57 »

Как тогда сделать правильно? как их все-таки убрать?
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #7 : 05.11.2015, 17:25:46 »

хех! метод настоящего джедая!
Файл /components/com_content/router.php
ищем строку $advanced = $params->get('sef_advanced_link', 0); Она присутствует в 2х местах.
0 меняем на 1

Сохраняем файл.

Идем на морду сайта и видим чистые ссылки без ИД у категорий и материала.
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #8 : 05.11.2015, 17:29:58 »

хех! метод настоящего джедая!
Файл /components/com_content/router.php
ищем строку $advanced = $params->get('sef_advanced_link', 0); Она присутствует в 2х местах.
0 меняем на 1

Сохраняем файл.

Идем на морду сайта и видим чистые ссылки без ИД у категорий и материала.


не работает
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #9 : 05.11.2015, 17:33:50 »

а если просто так: $advanced = 1;
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #10 : 05.11.2015, 17:35:08 »

Ошибка про которую писал выше появляется
Записан
voland
Профи
********

Репутация: +487/-86
Online Online

Пол: Мужской
Сообщений: 8704


любит наш народ всякое гавно...


« Ответ #11 : 05.11.2015, 17:53:39 »

хех! метод настоящего джедая!
Файл /components/com_content/router.php
ищем строку $advanced = $params->get('sef_advanced_link', 0); Она присутствует в 2х местах.
0 меняем на 1

Сохраняем файл.

Идем на морду сайта и видим чистые ссылки без ИД у категорий и материала.

Этот метод работал на 1.7, уже на какой-то 2.5 его поломали, а уж в 3 - тем более.

ЗЫ. Сегодня выходит бетка 3.5, там вроде новый роутер обещали.
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #12 : 05.11.2015, 17:54:14 »

У вас похоже измененный файл роутера, тот что я указывал.
Возьмите дистрибутив Joomla и оттуда залейте себе на сервак рабочий файл роутера.
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #13 : 05.11.2015, 18:00:37 »

Этот метод работал на 1.7, уже на какой-то 2.5 его поломали, а уж в 3 - тем более.

ЗЫ. Сегодня выходит бетка 3.5, там вроде новый роутер обещали.

а где найти бетку 3.5?
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #14 : 05.11.2015, 18:00:44 »

Воланд, да что ты, а я дурак юзаю этот метод и он блин, работает!
Предатор, у вас чутка испорченный роутер. Я повторил вашу ошибку:
если в методе public function parse(&$segments) класса class ContentRouter extends JComponentRouterBase
return $vars; будет возвращать НЕ МАССИВ, то:
Warning: array_merge(): Argument #2 is not an array in /var/www/..../libraries/cms/router/router.php on line 350
Fatal error: Unsupported operand types in /var/www/...../libraries/cms/router/router.php on line 234

так что или ищите ошибку в этом методе или возьмите рабочий файл роутера с дистриба.
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #15 : 05.11.2015, 18:07:03 »

взял рабочий роутер и в него внес изменения. реакции 0.
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #16 : 05.11.2015, 18:10:13 »

Кеш отключите и почистите.
У вас больше никакие плагины-компоненты не юзаются для сеф-ссылок?
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #17 : 05.11.2015, 18:13:27 »

Aimy Sitemap это есть
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #18 : 05.11.2015, 18:23:31 »

это не то...
я чет даже не знаю куда рыть...
а это точно косячит com_content?
 и еще, попробуйте поиграться параметрами сео в общих настройках Joomla.
Записан
PR[E]D@TOR
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 54


« Ответ #19 : 05.11.2015, 23:50:50 »

А можете мне помочь, посмотреть в чем может быть проблема.
Записан
GT-SEO
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 42


мой шибзик


« Ответ #20 : 03.12.2015, 17:40:23 »

хех! метод настоящего джедая!
Файл /components/com_content/router.php
ищем строку $advanced = $params->get('sef_advanced_link', 0); Она присутствует в 2х местах.
0 меняем на 1

Сохраняем файл.

Идем на морду сайта и видим чистые ссылки без ИД у категорий и материала.


Спасибо всё работает ))) на J3.4.5

 drink drink drink drink
Записан
Dobreff
Давно я тут
****

Репутация: +8/-4
Offline Offline

Сообщений: 212


« Ответ #21 : 13.05.2016, 16:01:58 »

хех! метод настоящего джедая!
Файл /components/com_content/router.php
ищем строку $advanced = $params->get('sef_advanced_link', 0); Она присутствует в 2х местах.
0 меняем на 1

Сохраняем файл.

Идем на морду сайта и видим чистые ссылки без ИД у категорий и материала.


Сработало на 3.5.1 Спасибо!
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5216



« Ответ #22 : 13.05.2016, 16:12:47 »

зачем это менять в файле не совсем понятно, это параметр и он записывается в базу
достаточно добавить его в XML записать 1 раз в базу и все, потом ничего слетать не будет при обновлении
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #23 : 13.05.2016, 18:42:48 »

зачем это менять в файле не совсем понятно, это параметр и он записывается в базу
достаточно добавить его в XML записать 1 раз в базу и все, потом ничего слетать не будет при обновлении

Ага! Ибо тут мы имеем обновление, потом какое-либо изменение в параметрах компонента (потребовалось) и опппа - ссылочки стали старыми с ИД материала.
Варианта всего два:
1. добавить в XML конфига и на хмл-файл выставить права только чтение
2. изменить файл router.php и на него выставить только чтение.
Что-то супер-пупер глобальное разработчики родить не могут...
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5216



« Ответ #24 : 13.05.2016, 19:11:12 »

Ибо тут мы имеем обновление, потом какое-либо изменение в параметрах компонента (потребовалось) и опппа - ссылочки стали старыми с ИД материала.
как правило это все настраивается изначально, а вот обновление с той частотой как это происходит не сравнится
так что тут кому как)
сдается сайт и там  заказчик в какие-то настройки врядли полезит, а вот на жмякнуть на кнопку обновить (которая везде красуется) он скорее всего нажмет)

а так по сути не зря же они эту настройку никому не открывают, видимо есть на это причины.
как минимум я вижу одну из них, на каждую ссылку у вас будет формироваться лишний запрос к БД, т.е. если на главной грубо говоря 50 ссылок на материалы, у вас будет 50 лишних запросов
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #25 : 13.05.2016, 22:59:18 »

Плохо ты матчасть знаешь )
При создании ссылки обращение к таблице контента идет в том случае, если в запросе ID просто число,  а не пара ID:ALIAS.
Да и надеяться, что заказчик не полезет тоже не стоит. И еще, если уж начинать бояться лишних запросов к БД, то сайт лучше вообще не стравить )
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5216



« Ответ #26 : 14.05.2016, 22:29:15 »

Плохо ты матчасть знаешь )
да я ее вообще не знаю)
При создании ссылки обращение к таблице контента идет в том случае, если в запросе ID просто число,  а не пара ID:ALIAS.
вот кусок кода из роутера контента, для построения ссылки
Код:
// Make sure we have the id and the alias
if (strpos($query['id'], ':') === false)
{
$db = JFactory::getDbo();
$dbQuery = $db->getQuery(true)
->select('alias')
->from('#__content')
->where('id=' . (int) $query['id']);
$db->setQuery($dbQuery);
$alias = $db->loadResult();
$query['id'] = $query['id'] . ':' . $alias;
}

И еще, если уж начинать бояться лишних запросов к БД, то сайт лучше вообще не стравить )
боятся лишних запросов стоит всегда, так как это на прямую влияет на производительность
конечно можно взять мощный сервер платить за него в несколько раз больше и не париться, или хостится на шареде, это про обычный сайт)

Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #27 : 14.05.2016, 23:48:03 »

Именно кусок, который без основных условий...
Кароче, нефиг народ пугать производительностью... Флудить начинаешь!
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5216



« Ответ #28 : 14.05.2016, 23:51:43 »

Именно кусок, который без основных условий...
Кароче, нефиг народ пугать производительностью... Флудить начинаешь!
каких условий?)
вот условие
Цитировать
               // Make sure we have the id and the alias
               if (strpos($query['id'], ':') === false)
Записан
Фей
Завсегдатай
*****

Репутация: +86/-3
Offline Offline

Пол: Мужской
Сообщений: 724


skype: bel_ko_d


« Ответ #29 : 15.05.2016, 00:03:25 »

Смокер, иди дальше кури бамбук!
Данное условие сработает только если в ссылке будет id=ID материала, а обычно id=ID:ALIAS. поэтому данный запрос не будет генериться 50 раз, если на странице выводится 50 материалов.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet