CodeIgniter - 自定义帮助不起作用

时间:2016-03-22 19:33:04

标签: php codeigniter

我正在尝试学习如何更好地使用Codeigniter框架来满足我的需求。今天我遇到了创建助手的问题。我恳请你支持我,只是为了理解我如何发展它们。

我在applications / helper /下创建了一个checkurl_helper.php。该文件的内容如下:

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

    /* Function to check page name for urls*/
    function activecheck($page_name) {
        $check_current_name = $this->uri->segment(1);
        if ($page_name == $check_current_name) {
            echo "active";
        }  
   };

// echo active_check('page_name');

我已经在我的控制器中导入了帮助器 - &gt; /application/controllers/Pages.php

<?php
class Pages extends CI_Controller {

        function __construct()
        {
            parent::__construct();
        }   

        public function about() {

            $data['title'] = ucfirst("about");

            //load custom helper 
            $this->load->helper('checkurl');

            if (!$this->user->loggedin) {
                $this->load->view('templates/header_no_login', $data);
            } else {    
                $this->load->view('templates/header', $data);
            }
            $this->load->view('templates/sidebarmenu_main');
            $this->load->view('pages/'.$data['title'].'.php');
            $this->load->view('templates/footer');
        }
}

现在,在我的模板文件&#34; sidebarmenu_main&#34;我用以下方式调用了助手的功能:

<ul class="sidebar-menu">
   <li class="header">FSG MENU</li>
   <li class="<?php active_check('about'); ?>"><a href="/about"><i class="fa fa-link"></i> <span>About</span></a></li>
</ul>

所以,如果我在&#34; localhost / about&#34;页面,帮助者应该能够检索到关于&#34;关于&#34;来自网址。因此,通过命令&#34; active_check(&#39; about&#39;),脚本应该输出&#34; active&#34;。我需要&#34;活跃&#34;输出以突出显示菜单框中的语音,向用户说明他正在&#34; about&#34;中导航。页。

我希望我能清楚我要做的事情。

在任何情况下,问题都是在&#34; sidebarmenu_main&#34;中调用该函数。制动所有页面并且不提供任何输出。我已经检查了$ this-&gt; uri-&gt;段(1)是否有效,并且没有问题。

感谢您的支持。

1 个答案:

答案 0 :(得分:1)

您的函数名称是

function activecheck($page_name) 

你在视图内部打电话

active_check('about');

将_添加到功能