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

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Прошу прощения за повтор, но так больше шансов что увидят и помогут

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

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Если включить галочку "Удалить ID материала в ссылке?" и выбрать "Да" то при открытии новости выскакивает такая ошибка
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 427 / 4
Скажите мне где вы нашли "Удалить ID материала в ссылке?" В стандартном компоненте такого нет! Какой у вас комопнент?
*

voland

  • Легенда
  • 11009
  • 585 / 112
  • Эта строка съедает место на вашем мониторе
*

voland

  • Легенда
  • 11009
  • 585 / 112
  • Эта строка съедает место на вашем мониторе
Тьфу ты. Ну на заборе много чего написано, но нам это малоинтересно.
*

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Как тогда сделать правильно? как их все-таки убрать?
*

Фей

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

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

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

PR[E]D@TOR

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

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

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


не работает
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
а если просто так: $advanced = 1;
*

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Ошибка про которую писал выше появляется
*

voland

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

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

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

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

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

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
У вас похоже измененный файл роутера, тот что я указывал.
Возьмите дистрибутив Joomla и оттуда залейте себе на сервак рабочий файл роутера.
*

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Этот метод работал на 1.7, уже на какой-то 2.5 его поломали, а уж в 3 - тем более.

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

а где найти бетку 3.5?
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
Воланд, да что ты, а я дурак юзаю этот метод и он блин, работает!
Предатор, у вас чутка испорченный роутер. Я повторил вашу ошибку:
если в методе 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

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
взял рабочий роутер и в него внес изменения. реакции 0.
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
Кеш отключите и почистите.
У вас больше никакие плагины-компоненты не юзаются для сеф-ссылок?
*

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Aimy Sitemap это есть
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
это не то...
я чет даже не знаю куда рыть...
а это точно косячит com_content?
 и еще, попробуйте поиграться параметрами сео в общих настройках Joomla.
*

PR[E]D@TOR

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
А можете мне помочь, посмотреть в чем может быть проблема.
*

GT-SEO

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

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

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


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

 *DRINK* *DRINK* *DRINK* *DRINK*
*

Dobreff

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

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

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


Сработало на 3.5.1 Спасибо!
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
зачем это менять в файле не совсем понятно, это параметр и он записывается в базу
достаточно добавить его в XML записать 1 раз в базу и все, потом ничего слетать не будет при обновлении
*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
зачем это менять в файле не совсем понятно, это параметр и он записывается в базу
достаточно добавить его в XML записать 1 раз в базу и все, потом ничего слетать не будет при обновлении

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

SmokerMan

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

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

Фей

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

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Плохо ты матчасть знаешь )
да я ее вообще не знаю)
При создании ссылки обращение к таблице контента идет в том случае, если в запросе 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;
}

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

*

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
Именно кусок, который без основных условий...
Кароче, нефиг народ пугать производительностью... Флудить начинаешь!
*

SmokerMan

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

Фей

  • Давно я тут
  • 738
  • 86 / 3
  • Истина в вине!
Смокер, иди дальше кури бамбук!
Данное условие сработает только если в ссылке будет id=ID материала, а обычно id=ID:ALIAS. поэтому данный запрос не будет генериться 50 раз, если на странице выводится 50 материалов.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка по доп. полям на странице списка категории

Автор revil

Ответов: 3
Просмотров: 73
Последний ответ 08.04.2021, 10:34:08
от sivers
Установка компонента в Joomla 3

Автор Бекжан

Ответов: 7
Просмотров: 1060
Последний ответ 27.03.2021, 15:00:56
от arma
Модуль материалы новости. Пропустить текущий материал ((php))

Автор Osprey

Ответов: 4
Просмотров: 264
Последний ответ 13.03.2021, 13:54:31
от Osprey
Чем Joomla 3.10 будет отличаться от Joomla 3.9?

Автор web1

Ответов: 2
Просмотров: 168
Последний ответ 10.03.2021, 00:04:53
от web1
Стандартные материалы выдают 2 заголовка H1

Автор Forgiving

Ответов: 14
Просмотров: 292
Последний ответ 06.03.2021, 10:47:17
от Forgiving