我在views文件夹的文件夹中有很多视图,例如在views / admin文件夹中。
当我编码
if (!empty($users->users)):
foreach ($users->users as $user) {
$link = site_url('ContentController/showActivities/' . $user->id);
$what = $user->banned == 0 ? 'b':'u';
$banned_t = $user->banned == 0 ? 'Banned':'Un-banned';
echo '<tr id="user_'.$user->id.'">';
echo '<td><div class="userimg"><img src="' . $user->profile_pic->medium . '"></div></td>';
echo '<td>'.$user->name . '</td>';
echo '<td>';
echo $user->last_login == '' ? 'never' : $user->last_login;
echo '</td>';
echo $user->banned == 0 ? '<td><span class="label label-success">Active</span></td>' : '<td><span class="label label-danger">Banned</span></td>';
echo '<td>'.$user->email.'</td>';
echo '<td><div class="btn-group">
<button type="button" onclick="Buckty.user.edit($(this));" data-toggle="modal" data-target="#editUser" data-id="'.$user->id.'" class="btn btn-danger">Edit</button>
<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a onclick="javascript:ref('.$user->id.')">Show Activities</a></li>
<li><a onclick="Buckty.user.ban($(this));" data-id="'.$user->user_hash.'" data-what="'.$what.'">'.$banned_t.'</a></li>
<li><a onclick="Buckty.user.remove($(this));" data-id="'.$user->id.'">Delete</a></li>
</ul>
</div></td>';
echo '</tr>';
}
endif;
这是我想重定向到控制器的代码
<li><a onclick="javascript:ref('.$user->id.')">Show Activities</a></li>
使用Javascript:
function ref(id) {
window.open('ContentController/showActivities/'+id, '_blank');
}
但是,当我点击“显示活动”菜单时,它始终会重定向到http://localhost/file-sharing/admin/ContentController/showActivities/1
,并且不会重定向到ContentController/showActivities
控制器。如果网址为http://localhost/file-sharing/ContentController/showActivities/1
有人知道在这种情况下该怎么办?提前谢谢。
答案 0 :(得分:1)
base_url()
。让我告诉你一些事情。由于功能和兼容性原因,site_url()
或routes.php
未定义网站网址。
首先,我不建议您不要使用控制器名称,尝试在site_url()
内为您的控制器组织和制作路线,但现在让我们谈谈您的问题。
$site->site_url
是您当前的网址。但是您可以非常简单地访问所有内容的全局设置。
全局变量简介
所以根据您的问题,您应该使用site_url();
而不是$link = site_url('ContentController/showActivities/' . $user->id);
基本上改变了这个:
$link = $site->site_url.'ContentController/showActivities/' . $user->id;
到这个
site_url
或者如果我们谈论javascript那么javascript的全局变量也在那里。您应该使用function ref(id) {
window.open('ContentController/showActivities/'+id, '_blank');
}
作为网站链接,因此请修改以下内容:
function ref(id) {
window.location.replace(site_url + 'ContentController/showActivities/'+id, '_blank');
}
到这个
site_url
这里介绍了javascript的全局变量:
user_data
||这包含您的网站网址(来自网站设置)site_info
||这包含当前用户的数据(一切只有密码不存在)tran
||这包含网站设置数据。current_folder
||这包含多语言翻译current_folder
||这包含当前文件夹的哈希ID,您当前在其上
folder
如果它位于根文件夹中则为0,否则为{{1}},如果它位于非功能视图中。 答案 1 :(得分:0)
试试这个:
function ref(id) {
window.open('<?php echo base_url()?>ContentController/showActivities/'+id, '_blank');
}