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

lgmax

  • Захожу иногда
  • 281
  • 1 / 1
Формирование URL
« : 10.05.2021, 15:19:12 »
Всем привет.

Помогите, пожалуйста, решить вот такую задачу с навигацией....

Мне нужно определять текущую ссылку, например: https://site.ru/catalog/test и к этому ТЕКУЩЕМУ URL нужно добавлять окончание &searchword=Слово1 чтобы получилось https://site.ru/catalog/test&searchword=Слово1

Я получаю текущий URL так:
Код
<?php  $uri = JFactory::getURI(); $link = $uri->toString(); echo $link; ?>

и формирую ссылку:

Код
<a href="<?php  $uri = JFactory::getURI(); $link = $uri->toString(); echo $link; ?>&searchword=Слово1">Слово1</a>

Если я формирую несколько таких ссылок, то к текущему URL постоянно прибавляется новый хвост:

https://site.ru/catalog/test&searchword=Слово1&searchword=Слово2&searchword=Слово3

Можно ли как-то сделать, чтобы хвост заменялся а не прибавлялся?

Хочу сделать HTML меню, но не знаю как победить это все дело:

Вот мое ТИПО меню:
Код
	<ul>
<li><a href="<?php  $uri = JFactory::getURI(); $link = $uri->toString(); echo $link; ?>&searchword=Красногвардейская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Красногвардейская</a>
</li>
<li><a href="<?php  $uri = JFactory::getURI(); $link = $uri->toString(); echo $link; ?>&searchword=Алма-Атинская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Алма-Атинская</a>
</li>
<li><a href="<?php  $uri = JFactory::getURI(); $link = $uri->toString(); echo $link; ?>&searchword=Домодедовская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Домодедовская</a>
</li>
</ul>
*

xpank

  • Захожу иногда
  • 377
  • 33 / 0
Re: Формирование URL
« Ответ #1 : 10.05.2021, 17:03:14 »
А зачем вы каждый раз получаете ссылку? Вы уже один раз ее получили, и записали в переменную $link
Код
<?php  $uri = JFactory::getURI(); $link = $uri->toString(); ?>
<ul>
<li><a href="<?php echo $link; ?>&searchword=Красногвардейская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Красногвардейская</a>
</li>
<li><a href="<?php echo $link; ?>&searchword=Алма-Атинская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Алма-Атинская</a>
</li>
<li><a href="<?php echo $link; ?>&searchword=Домодедовская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Домодедовская</a>
</li>
</ul>



*

lgmax

  • Захожу иногда
  • 281
  • 1 / 1
Re: Формирование URL
« Ответ #2 : 10.05.2021, 17:32:55 »
А зачем вы каждый раз получаете ссылку? Вы уже один раз ее получили, и записали в переменную $link
Код
<?php  $uri = JFactory::getURI(); $link = $uri->toString(); ?>
<ul>
<li><a href="<?php echo $link; ?>&searchword=Красногвардейская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Красногвардейская</a>
</li>
<li><a href="<?php echo $link; ?>&searchword=Алма-Атинская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Алма-Атинская</a>
</li>
<li><a href="<?php echo $link; ?>&searchword=Домодедовская">
<i class="fa fa-circle m-green" aria-hidden="true"></i> м. Домодедовская</a>
</li>
</ul>



Да, точно.... Спасибо! А с основным вопросом можно что-то придумать?
« Последнее редактирование: 10.05.2021, 17:40:09 от lgmax »
*

sivers

  • Завсегдатай
  • 1697
  • 232 / 0
Re: Формирование URL
« Ответ #3 : 11.05.2021, 10:50:07 »
Спасибо! А с основным вопросом можно что-то придумать?
А в чем основной вопрос?
Попробуйте получать текущую ссылку вот так:
Код
$link = JUri::current();
Этот метод возвращает ссылку без "хвоста" из параметров. Еще для откусывания хвоста можно использовать explode:
Код
list($link) = explode('?', $link);
// Оно же
$link = explode('?', $link)[0];
На связи в телеге @sivers
https://sivers.su/
*

lgmax

  • Захожу иногда
  • 281
  • 1 / 1
Re: Формирование URL
« Ответ #4 : 11.05.2021, 20:15:31 »
А в чем основной вопрос?
Попробуйте получать текущую ссылку вот так:
Код
$link = JUri::current();
Этот метод возвращает ссылку без "хвоста" из параметров. Еще для откусывания хвоста можно использовать explode:
Код
list($link) = explode('?', $link);
// Оно же
$link = explode('?', $link)[0];
Спасибо, большое!
*

lgmax

  • Захожу иногда
  • 281
  • 1 / 1
Re: Формирование URL
« Ответ #5 : 15.05.2021, 11:55:39 »
А как быть, если нужно откусить из ссылки:

https://site.ru/search?issearch=1&category_id=6&xf_4_txt=Текст1&xf_5_txt=Текст2&date=15-05-2021&xf_8[0]=2&xf_8[1]=4&xf_8[2]=10&searchword=Новоясеневская

&searchword=Новоясеневская или &searchword=любоеслово - постоянно меняется слово.
*

sivers

  • Завсегдатай
  • 1697
  • 232 / 0
Re: Формирование URL
« Ответ #6 : 15.05.2021, 14:17:19 »
Пользуйтесь универсальным способом:
Код
$link = 'https://site.ru/search?issearch=1&category_id=6&xf_4_txt=Текст1&xf_5_txt=Текст2&date=15-05-2021&xf_8[0]=2&xf_8[1]=4&xf_8[2]=10&searchword=Новоясеневская';
list($url, $params) = explode('?', $link.'?');
parse_str($params, $args);
$args['searchword'] = 'любоеслово';
$params = http_build_query($args);
$link = $url.'?'.$params;

Тут сперва откусывается строка параметров ($params) от ссылки, затем она разбирается в массив ($args), там можете менять (добавлять/удалять) любой параметр (имя параметра - ключ в массиве), затем из массива снова собирается строка параметров и присоединяется к ссылке.
На связи в телеге @sivers
https://sivers.su/
*

lgmax

  • Захожу иногда
  • 281
  • 1 / 1
Re: Формирование URL
« Ответ #7 : 15.05.2021, 14:26:31 »
Пользуйтесь универсальным способом:
Код
$link = 'https://site.ru/search?issearch=1&category_id=6&xf_4_txt=Текст1&xf_5_txt=Текст2&date=15-05-2021&xf_8[0]=2&xf_8[1]=4&xf_8[2]=10&searchword=Новоясеневская';
list($url, $params) = explode('?', $link.'?');
parse_str($params, $args);
$args['searchword'] = 'любоеслово';
$params = http_build_query($args);
$link = $url.'?'.$params;

Тут сперва откусывается строка параметров ($params) от ссылки, затем она разбирается в массив ($args), там можете менять (добавлять/удалять) любой параметр (имя параметра - ключ в массиве), затем из массива снова собирается строка параметров и присоединяется к ссылке.

Спасибо, огромное!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Формирование динамических ссылок

Автор DamianTrash

Ответов: 2
Просмотров: 353
Последний ответ 24.04.2018, 22:36:40
от fsv
Формирование ссылок для пользовательского меню

Автор web3.0

Ответов: 4
Просмотров: 509
Последний ответ 01.04.2017, 15:55:52
от web3.0
Модуль вывода категорий, формирование ссылки

Автор Wertos

Ответов: 33
Просмотров: 1787
Последний ответ 31.03.2016, 18:52:15
от GTOnidzuka
Com_tags формирование url

Автор sedoi

Ответов: 8
Просмотров: 1825
Последний ответ 29.06.2013, 13:01:43
от sedoi