0

我正在尝试在 codeigniter 中使用 current_url() 函数,但不确定如何操作这些数据。我知道我可以回显 current_url() 但如何获取每个段并用于生成新 URL?

我正在尝试获取当前页面的片段并使用添加新的变量数据来生成新的 URL。

我从未使用过 current_url(); 之前,所以不知道该怎么办。假设我的用户在过滤器页面上,并且有 2 个变量来过滤其结果(邻居和类别)。如果用户单击一个社区,我将如何构建超链接以提取该类别的当前 url 变量,然后插入该社区的变量?

我的 URL 类似于:mydomain.com/ny/find/$neighborhood/$category

   Breakdown:
   ny = controller
   find = function
   param1 = $neighborhood
   param2 = $category

任何帮助将非常感激...

4

3 回答 3

0

您可以通过以下方式细分您的 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);
于 2014-07-18T14:57:12.507 回答
0
<?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 段的页面上,您可能还必须添加并使用不同的逻辑。

于 2014-07-18T15:04:36.077 回答
0

current_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>

让我知道这是否是你想要的。

于 2014-07-25T19:12:27.670 回答