構造は次のようになります。
modules
admin
controllers/
admin.php
models/
admin_model.php
views/
admin/
index.php
categories/
controllers/
admin.php
categories.php
models/
categories_model.php
views/
admin/
index.php
menu.php
frontpage.php
posts/
controllers/
admin.php
posts.php
models/
posts_model.php
views/
admin/
index.php
menu.php
frontpage.php
管理コントローラは次のようになります。
class Admin extends Backend_Controller {
function __construct()
{
parent::__construct();
$this->load->model('categories_model');
}
public function index()
{
// index stuff
}
public function _menu()
{
$this->load->view('categories/admin/menu');
}
}
そして、次のように別のモジュール ビューから呼び出している場合:
<?php echo Modules::run('categories/admin/_menu'); ?>
それは動作しません;(
ただし、これは機能します:
<?php echo Modules::run('categories/categories'); ?>
したがって、私の問題は、モジュールの名前とメソッド「メニュー」としての名前ではなく、名前adminでコントローラーをロードする方法です
CodeIgniter でどのように動作させることができるでしょうか?
編集:
コントローラー名を「admin」から「blablacontroller」などの別の名前に変更すると、魔法のように機能し始めることがわかりました。
「admin」と呼ばれる別のモジュールが既にあるので、これは問題になる可能性がありますか?