Как создать новый URL с использованием current_url в codeigniter
Я пытаюсь использовать функцию current_url() в codeigniter, но не уверен, как манипулировать этими данными. Я понимаю, что могу повторить current_url(), но как мне взять каждый из сегментов и использовать для создания нового URL?
Я пытаюсь взять фрагменты текущей страницы и использовать для создания нового URL с добавлением новых переменных данных.
Я никогда не работал с current_url(); раньше, поэтому не уверен, что делать. Допустим, мой пользователь находится на странице фильтров и имеет 2 переменные для фильтрации своих результатов (район и категория). Если пользователь щелкает по окрестности, как бы я структурировал гиперссылку, чтобы получить текущую переменную url для категории, а затем вставить переменную для окрестности?
Мои URL выглядят примерно так: mydomain.com/ny/find/$neighborhood/$category
Breakdown:
ny = controller
find = function
param1 = $neighborhood
param2 = $category
Любая помощь приветствуется...
3 ответа
<?php //check if there is a value in uri segment 3 (param1)
if($this->uri->segment(3)){
//if there is a value there then include it in the link ?>
<a href="controller/function/<?=$this->uri->segment(3)?>/link">Link text</a>
<?php //otherwise just go to the link for param1
}else{ ?>
<a href="controller/function/link">Link text</a>
<?php } ?>
Это должно работать, хотя в зависимости от необходимой логики вам может потребоваться настроить ссылки, а также логику в операторах else. В зависимости от того, как вы хотите связать, вы также можете добавить elseif($this->uri->segment(4))
и использовать другую логику, если пользователь находится на странице с 4 сегментами URL.
current_url() возвращает строку для фактической загруженной страницы. Вы можете создать любой URL, который вы хотите, используя сегменты. Допустим, у вас есть этот текущий URL:
mydomain.com/ny/find/$neighborhood/$category
если вы хотите добавить что-то к этому URL и создать ссылку на пользователя, вы можете сделать строку:
$url = base_url().$this->uri->segment(1).'/'.$this->uri->segment(2).'/newParamYouAdd/'.$this->uri->segment(4);
А потом:
<a href="<?php echo $url; ?>">New url</a>
Дайте мне знать, если это то, что вы хотите.
Вы можете разбить свой URL с помощью этого:
For ny: echo $this->uri->segment(1);
For find: echo $this->uri->segment(2);
For param1: echo $this->uri->segment(3);
For param2: echo $this->uri->segment(4);