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

PR[E]D@TOR

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

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

PR[E]D@TOR

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

Aleks.Denezh

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

voland

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

voland

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

PR[E]D@TOR

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

Фей

  • Давно я тут
  • 743
  • 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

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

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


не работает
*

Фей

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

PR[E]D@TOR

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

voland

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

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

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

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

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

Фей

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

PR[E]D@TOR

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

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

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

Фей

  • Давно я тут
  • 743
  • 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.
*

Фей

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

PR[E]D@TOR

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

Фей

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

PR[E]D@TOR

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

GT-SEO

  • Осваиваюсь на форуме
  • 39
  • 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

  • Захожу иногда
  • 213
  • 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 раз в базу и все, потом ничего слетать не будет при обновлении
*

Фей

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

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

SmokerMan

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

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

Фей

  • Давно я тут
  • 743
  • 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;
}

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

*

Фей

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

SmokerMan

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

Фей

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

Что хранится в таблице overrider Joomla 3?

Автор web1

Ответов: 2
Просмотров: 195
Последний ответ 04.04.2024, 22:10:48
от web1
Убрать блок в мобильной версии сайта

Автор Grigorii

Ответов: 10
Просмотров: 674
Последний ответ 10.02.2024, 19:38:34
от darkghost
reCAPTCHA V2 Google - Для Joomla 3

Автор Alex GOOD

Ответов: 35
Просмотров: 8335
Последний ответ 10.01.2024, 21:41:38
от Vastriet
Убрать из модуля новостей ссылку на статью, на которой выводится модуль

Автор zeus07

Ответов: 3
Просмотров: 720
Последний ответ 08.11.2023, 21:17:26
от GrayAn
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 396
Последний ответ 19.10.2023, 11:25:18
от designer71