2017-06-21 7 views
1

私はZF2(https://github.com/ZF-Commons/ZfcAdmin/)用のZfcAdminモジュールを使用しています。私自身のコントローラを使用することはできません。ZF2 - ZfcAdmin - コントローラのオーバーライド

モジュールのドキュメント(https://github.com/ZF-Commons/ZfcAdmin/blob/master/docs/2.Routes.md)によると、新しいモジュールルート設定のdocsからこのスニペットを単純に追加した後で自分のコントローラを使用できるはずですが、メインページにリダイレクトされてしまいますルート。

Exception: Zend\Mvc\Controller\ControllerManager::createFromInvokable: failed retrieving "admincontrolleradmin(alias: Admin/Controller/Admin)" via invokable class "Admin\Controller\AdminController"; class does not exist in /var/www/app/vendor/zendframework/zend-servicemanager/src/AbstractPluginManager.php:240

Module.php

<?php 
namespace Admin; 

class Module 
{ 
    public function getConfig() 
    { 
    return include __DIR__ . '/config/module.config.php'; 
    } 

    public function getAutoloaderConfig() 
    { 
    return array(
     'Zend\Loader\StandardAutoloader' => array(
     'namespaces' => array(
      __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
     ), 
    ) 
    ); 
    } 
} 

module.config.php

<?php 
return array(
    'controllers' => array(
    'invokables' => array(
     'Admin\Controller\Admin' => 'Admin\Controller\AdminController', 
    ), 
), 


    'router' => array(
    'routes' => array(
     'zfcadmin' => array(
     'options' => array(
      'defaults' => array(
      'controller' => 'Admin/Controller/Admin', 
      'action'  => 'test', 
     ), 
     ), 
    ), 
    ), 
), 
); 
:エラーが発生し

'controllers' => array(
    'invokables' => array(
     'Admin\Controller\Admin' => 'Admin\Controller\AdminController', 
    ), 
), 

:だから私はこの部分を追加しました

モジュール/管理/ srcに/管理/ AdminController.php

<?php 

namespace Admin\Controller; 

use Zend\Mvc\Controller\AbstractActionController; 

class AdminController extends AbstractActionController 
{ 
    public function testAction() 
    { 
    echo('test'); 
    die(); 
    } 
} 

私は自分自身をzfcadminない、それは私のせいです、99%確信しています。しかし、見つからない自分のコントローラを作成しているときに、どこでミスをしたのか分かりません。

答えて

1

Zend 2はあなたの "AdminController.php"を見つけることができません。

「AdminController.php」を「module/Admin/src/Controller /」ではなく「module/Admin/src/Controller /」に変更することをお勧めします。

+0

私はすでに、両方の場所で2つのコントローラファイルを作ったこともありましたが、まだ運がありません。 – ficus

+0

最後に「コントローラ」ディレクトリを忘れました。 –

+0

上記と同じ。これは現在、Admin/src/Admin/Controller/AdminController.phpのパスの下で動作しますが、私は問題が何であるか分かりませんでした.zftoolsでコントローラを生成し、モジュールを再インストールしましたが、ファイルに違いは見られません。とにかくありがとうございました! – ficus

関連する問題