Лишняя информация в url

  • 10 Ответов
  • 363 Просмотров

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

*

ac100

  • *
  • 9
  • 0
Лишняя информация в url
« : 16.02.2017, 03:48:01 »
Всем доброго времени суток. Столкнулся с такой проблемой, в url стала появляться лишняя информация. Без нее страница прекрасно работает.
Выглядит это так:
Цитировать
site.ru/catalog/zamki-dlya-sumok/?task=show&catid=11
Следует отображать как
Цитировать
site.ru/catalog/zamki-dlya-sumok/
. Ссылка формируется так:
Код
 *DRINK*<a href="<?php echo JRoute::_("index.php?option=com_catalog&task=show&catid=$cat->id&Itemid=140",false);?>" class="category<?php if ($i%3==2){ echo " cat3";}?>"> 
Помогите пожалуйста, что и где нужно изменить что бы лишнее в url не попадало?
         

*

robert

  • ********
  • 4002
  • 371
Re: Лишняя информация в url
« Ответ #1 : 16.02.2017, 10:24:24 »
лишняя информация. Без нее страница прекрасно работает         
А вы уверены? Изменить просто: удалите все, что по-вашему лишнее.  Только проверьте еще раз, чтобы потом не создавать тему типа "Хелп! Помогите победить Джумалу! Вчера еще работала, а сегодня перестала".
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Лишняя информация в url
« Ответ #2 : 16.02.2017, 11:39:27 »
вероятно, в пункте меню указаны все нужные параметры. если так, то действительно просто удалить из JRoute::_
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

ac100

  • *
  • 9
  • 0
Re: Лишняя информация в url
« Ответ #3 : 16.02.2017, 19:58:53 »
Пробовал удалять часть часть кода после ::Jroute. Тогда пропадает часть ссылки т.е. если убираю catid то исчезает /zamki-dlya-sumok/

*

robert

  • ********
  • 4002
  • 371
Re: Лишняя информация в url
« Ответ #4 : 17.02.2017, 17:42:41 »
Пробовал удалять часть часть кода после ::Jroute. Тогда пропадает часть ссылки т.е. если убираю catid то исчезает /zamki-dlya-sumok/
Значит, плохо написан router. Откуда взяли этот компонент com_catalog?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

ac100

  • *
  • 9
  • 0
Re: Лишняя информация в url
« Ответ #5 : 19.02.2017, 18:17:54 »
Эмм... Не знаю. Так до меня уже было. А где искать router?

*

robert

  • ********
  • 4002
  • 371
Re: Лишняя информация в url
« Ответ #6 : 19.02.2017, 22:00:04 »
site.ru/components/com_catalog/router.php
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

ac100

  • *
  • 9
  • 0
Re: Лишняя информация в url
« Ответ #7 : 20.02.2017, 05:03:17 »
Отлично, я его  нашел. В нем вроде бы ничего нет напоминающего замену одних частей url на другие. Если нужно, могу код скинуть всего файла

*

ac100

  • *
  • 9
  • 0
Re: Лишняя информация в url
« Ответ #8 : 04.03.2017, 04:51:38 »
Я нашел эти злосчастные строки. Вот они. Не вижу причины всех бед. Может вы знаете?

Код: php
function CatalogBuildRoute($query)
{
//print_r($query);
/*$sql = "SELECT `alias` FROM `#__catalog_categories` WHERE `id` = '".$query["catid"]."' AND `published` = '1'";
$db->setQuery($sql);*/
$segments = array();
//print_r($query); die();
$segments[0] = getAlias('categories', $query["catid"]); //1
$segments[1] = getAlias('items', $query['id']); //3
//$segments[2] = $query['task'];
//print_r($segments);
unset($query['task']);
unset($query['catid']);
unset($query['id']);
    return $segments;
}

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Лишняя информация в url
« Ответ #9 : 04.03.2017, 11:52:53 »
я тоже не вижу.
Код
unset($query['task']);
unset($query['catid']);
как раз и говорит о том, что будут task и catid удалены. а вы точно уверены, что сюда попадает управление когда ссылка формируется?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

ac100

  • *
  • 9
  • 0
Re: Лишняя информация в url
« Ответ #10 : 04.03.2017, 16:21:47 »
Ну файл route.php лежит в этой же папке. Глянул что приходит в $quer и $segments, выглядит это так. Array ( [option] => com_catalog [catid] => 12 [id] => 2253 [Itemid] => 140 ) и Array (
  • => pryajki_metallicheskie [1] => pryajka-dlya-remnya-2252 )