0

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 で機能しないのですか? 私は何を間違っていますか?

4

1 に答える 1

1

この問題は、HMVC が原因であるとは考えられません。doctype()関数はhtmlヘルパーで定義されており、ロードしていないようです(自動ロードしていない限り)。コントローラーに html ヘルパーをロードするだけで、正常に動作するはずです。

public function index()
{
    $this->load->helper('html');
    $this->load->view('includes/template'); 
}
于 2011-11-24T14:45:38.310 に答える