首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向到控制器-代码点火器

重定向到控制器-代码点火器
EN

Stack Overflow用户
提问于 2016-10-19 06:49:44
回答 2查看 969关注 0票数 1

我在视图文件夹中有很多视图,例如视图/管理文件夹中的视图。

当我编码

代码语言:javascript
复制
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;

这就是我想重定向到控制器的代码

代码语言:javascript
复制
<li><a onclick="javascript:ref('.$user->id.')">Show Activities</a></li>

Javascript:

代码语言:javascript
复制
function ref(id) {
    window.open('ContentController/showActivities/'+id, '_blank');
}

但是,当我单击“显示活动”菜单时,它总是重定向到http://localhost/file-sharing/admin/ContentController/showActivities/1,而不是重定向到ContentController/showActivities控制器。如果url是http://localhost/file-sharing/ContentController/showActivities/1,则应该重定向到该控制器。

有人知道在这种情况下我该怎么做吗?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-19 07:40:22

本平台的Being Owner。让我帮你澄清几件事。由于功能和兼容性原因,base_url()site_url()没有定义站点url。

首先,我不建议您不要使用控制器名称,尝试组织和为您的控制器在routes.php内的路线,但现在让我们谈谈您的问题。

site_url()是你当前的网址。但是您可以非常简单地访问所有的全局设置。

全局变量介绍

  • 这包含当前登录的用户数据,您可以在视图中的任何地方使用它
  • 这包含与上述变量类似的数据,但这应该用于控制器。
  • 这包含站点设置,保存在数据库中的每个站点设置数据(从到ads设置)
  • 这是您如何在这个平台中使用站点url的方法
  • $ this -> site \这应该在控制器内部使用以获取站点设置

因此,根据您的问题,您应该使用$site->site_url而不是site_url();

基本上改变这一点:

代码语言:javascript
复制
$link = site_url('ContentController/showActivities/' . $user->id);

到这个

代码语言:javascript
复制
$link = $site->site_url.'ContentController/showActivities/' . $user->id;

或者,如果我们讨论javascript,那么javascript的全局变量也是存在的。您应该使用site_url作为站点链接,因此请编辑以下内容:

代码语言:javascript
复制
function ref(id) {
    window.open('ContentController/showActivities/'+id, '_blank');
}

到这个

代码语言:javascript
复制
function ref(id) {
    window.location.replace(site_url + 'ContentController/showActivities/'+id, '_blank');
}

下面介绍javascript的全局变量:

  • 这包含您的站点url (来自网站设置)
  • 这包含当前用户的数据(所有只有密码的东西都不存在)
  • site_info \这包含站点设置数据。
  • 这包含多语言的翻译
  • 这包含当前文件夹的散列id,您现在是current_folder的哈希id
  • 如果current_folder位于根文件夹,则为0;如果位于非功能视图,则为folder

票数 1
EN

Stack Overflow用户

发布于 2016-10-19 07:33:25

试试这个:

代码语言:javascript
复制
function ref(id) {
    window.open('<?php echo base_url()?>ContentController/showActivities/'+id, '_blank');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40124135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档