切换到Codeigniter HMVC - 未定义的功能?

时间:2011-11-24 14:22:33

标签: function codeigniter undefined hmvc

我已经设置了全新的codeigniter 2x和模块化扩展(https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home)

这是我第一次使用HMVC,从MVC迁移到HMVC的决定是让我自己更好地控制我的登录,管理员和成员区域。

我在HMVC中创建了我的第一个控制器,就像这样......

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

class Home extends MX_Controller {


    function __construct()
    {
        parent::__construct();  
        $this->load->model('Content_model');
    }


    public function index()
    {

        $this->load->view('includes/template'); 
    }
}

和类似的观点:

<?php echo doctype(); ?>

<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title><?php echo $pagecontent['seo_title']; ?></title>
         <meta name="description" content="<?php echo $pagecontent['seo_description']; ?>" />
        <meta name="keywords" content="<?php echo $pagecontent['seo_keywords']; ?>" />
        <meta name='robots' content='all' />

        <link rel="icon" type="image/ico" href="<?php echo base_url("images/favicon.png"); ?>" />
        <?php echo link_tag('css/style.css'); ?>
 <script type="text/javascript"  language="javascipt" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
 <script type="text/javascript" language="javascript" src="<?php echo base_url("js/jquery.validate.min.js"); ?>"></script>
<script type="text/javascript" language="javascript" src="<?php echo base_url("js/main.js"); ?>"></script>


    </head>
    <body>
        <?php $this->load->view('includes/notify'); ?>

        <div id="topbar">
            <?php $this->load->view('includes/topbar'); ?>

当我尝试在浏览器中查看该页面时,出现以下错误:

Fatal error: Call to undefined function doctype() in C:\xampp\htdocs\mintfifty\application\modules\site\views\includes\template.php on line 1

代码在我之前的所有codeigniter(mvc)项目中都有用,但没有(hmvc)为什么它在HMVC中不起作用?我究竟做错了什么?

1 个答案:

答案 0 :(得分:1)

此问题不太可能由HMVC引起。 doctype()函数在html帮助器中定义,似乎您没有加载它(除非您已自动加载它)。只需在控制器中加载html帮助器,它就可以正常工作。

public function index()
{
    $this->load->helper('html');
    $this->load->view('includes/template'); 
}