【问题标题】:Accessing CI's config file from a plugin's config file从插件的配置文件访问 CI 的配置文件
【发布时间】:2013-10-28 21:41:37
【问题描述】:

我正在尝试将所有特定于部署的更改集中到 CI 的主配置文件中,然后让“较小”的配置文件(如插件)从此处读取它。

在这个特定的例子中:

我将 CKEditor/CKFinder 作为我的 Codeigniter 应用程序的插件。我想从 CKFinder 的配置文件中读取 CI 的主配置文件中的值,以便我可以访问 baseURL。

为了告诉 CKFinder 在哪里寻找图像,您需要在其 config.php 文件中指定一个 baseURL。我宁愿它从我的主配置文件中读取 baseURL 并附加一个图像目录而不是直接修改 CKFinder 的文件。

我在 CKFinder 的 config.php 文件中尝试了以下内容,但无济于事:

$baseUrl=$this->$config['base_url'].'assets/my_images/';

请带我走向光明!

嗯嗯

【问题讨论】:

    标签: php codeigniter plugins config


    【解决方案1】:

    如果你想阅读base_url,你可以这样做:

    $baseUrl = base_url().'assets/my_images/';
    

    如果您想访问配置项,则可以这样做。

    $this->config->item('your_constant'); 
    

    在配置文件中类似:

    $config['your_constant'] = "your string"; 
    

    【讨论】:

    • 非常感谢!我想我会使用先凯的建议来获取我的 baseurl,但是对于我确实需要访问的其他配置项,您已经给了我解决方案!
    • 如果解决了您的问题,请接受答案以帮助其他人解决您同样的问题@user1072910
    • 我很抱歉在这么长时间后回到这个 - 但在 CKFinder 配置文件中,“$this”不在对象上下文中。所以实际上我无法引用我的主要 base_url 或任何主要配置项。
    • 尝试阅读这篇文章sanisoft.com/blog/2010/12/13/…@user1072910
    【解决方案2】:

    您可以使用 site_url,它原本是 base_url 的扩展,但用于相对路径。

    $baseUrl = site_url('/assets/my_images');
    

    【讨论】:

    • 谢谢 - 我会继续使用这个建议来设置我的 baseurl。我因为没有考虑 site_url() 而自责!非常感谢
    猜你喜欢
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 2013-03-22
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多