CodeIgniter / PHP:如何在 .php 视图页面中获取 URI
Posted
技术标签:
【中文标题】CodeIgniter / PHP:如何在 .php 视图页面中获取 URI【英文标题】:CodeIgniter / PHP: How to get URI in .php view page 【发布时间】:2015-11-04 12:55:52 【问题描述】:我遇到了与该用户类似的问题:How to add active class to codeigniter hyperlinks?
答案是将以下内容插入到 .php 视图页面中:
<a class="<?php if($this->uri->segment(1)=="search")echo "active";?>" href="<?=base_url('search')?>">
<i class="icon-search"></i>
<span>BEDRIJF ZOEKEN</span>
</a>
当我将它插入我的页面时,即使我的 URL 是“搜索”,它也不会将“活动”类分配给链接标记。我试过这样做:
<?php
$uri = $this->uri->segment(1);
echo "<script type='text/javascript'>alert('$uri');</script>";
?>
它什么都不提醒(提醒框不显示任何东西)。我还尝试提醒以下内容:
$this->uri->uri_string()
我得到相同的结果(一个空的警报框)。我错过了什么?
编辑:我的控制器是 Pages.php:
<?php
class Pages extends CI_Controller
public function view($page = 'home')
if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
// Whoops, we don't have a page for that!
show_404();
$data['title'] = ucfirst($page); // Capitalize the first letter
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
?>
【问题讨论】:
你的控制器名称是什么?? @Abdulla 我的控制器名称是 Pages。我将编辑我的页面并显示我的控制器。 发布有问题的链接 @MeeneshJain 我的链接?我的网站现在正在开发中(我在 localhost 上运行它)。 你能vardump
你的$this->uri->segment(1)
看看它有什么吗?
【参考方案1】:
试试这个
<a class="<?php if($this->uri->segment(1)=="Pages")echo "active";?>" href="<?=base_url('Pages')?>">
<i class="icon-search"></i>
<span>BEDRIJF ZOEKEN</span>
</a>
$this->uri->segment(1)
表示www.example.com/Pages/my_Method
Base URL
= www.example.com
$this->uri->segment(1)
= Pages
$this->uri->segment(2)
= my_Method
【讨论】:
哦,好吧,这行得通(我只是将“Pages”更改为“pages”,因为人们通常以小写形式输入 URL)。 @user2719875 是的。主机将区分大小写 主机会区分大小写吗? “主机”到底是什么意思? host 表示在线服务器 但是 localhost 完全没有坏处。但是服务器不是那样的。我对这种错误有很多经验。任何乐于助人的方式:【参考方案2】:正如我所见,您正在尝试将当前菜单应用为 class='active'。我对你的建议是,而不是找到 uri 并匹配它。您可以对控制器和视图使用以下方法。
控制器
$data['active_menu'] ='search'
或
$data['active_menu'] ='home'
或
$data['active_menu'] ='help'
`$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);`
查看页面 (Home_view.php/search_view.php/help_view.php)
<a class="<?php if($active_menu=="search")echo "active";?>" href="<?=base_url('Pages')?>">
<i class="icon-search"></i>
<span>BEDRIJF ZOEKEN</span>
</a>
【讨论】:
以上是关于CodeIgniter / PHP:如何在 .php 视图页面中获取 URI的主要内容,如果未能解决你的问题,请参考以下文章
CodeIgniter / PHP:如何在 .php 视图页面中获取 URI
如何在 Windows Azure 上重写 Codeigniter 的 index.php
如何删除codeigniter路径中的“index.php”
如何在 Codeigniter 中重定向和删除 index.php [重复]