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

ac100

  • Новичок
  • 9
  • 0 / 0
Лишняя информация в url
« : 16.02.2017, 01: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

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

dmitry_stas

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

ac100

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

robert

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

ac100

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

robert

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

ac100

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

ac100

  • Новичок
  • 9
  • 0 / 0
Re: Лишняя информация в url
« Ответ #8 : 04.03.2017, 02: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

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

ac100

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