1

我的配置config_backend.php(自动加载)如下所示:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$config['my_admin_url'] = 'admin';

我的助手admin_helper.php看起来像这样:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

function base_url_admin()
{
    $ci =& get_instance();

    $ci->config->load('config_backend');
    $ci->load->helper('url');

    return base_url().$my_admin_url.'/';
}

我在视图中的代码如下所示:

<a href="<?php echo base_url_admin(); ?>">Admin</a>

但问题是,而不是正确的输出,如:

<a href="http://localhost/admin">Admin</a>

该链接如下所示:

<a href="http://localhost">Admin</a>

有趣的是,当我在帮助者中这样做时,例如:

function base_url_admin()
{
    $ci =& get_instance();

    $ci->config->load('config_backend');
    $ci->load->helper('url');

    return "idiot";
}

它输出如下内容:

http://localhost/admin/idiot

所以,我假设 admin_helper 已加载,但我不知道管理员如何出现在那里?

知道我在做什么错吗?

4

1 回答 1

2

您应该返回my_admin_url配置,因为您没有拿起配置项,您希望它返回它和/或配置返回数组键名下的变量,即$my_admin_url. 但是要退回它,您可以这样做:

return base_url() . $ci->config->item('my_admin_url') . '/';
于 2013-03-08T13:17:08.240 回答