ZF2解析程序无法解析为文件(但适用于开发环境)

时间:2015-10-19 11:11:46

标签: zend-framework2

我已经在这里完成了其他类似的问题并尝试了很多事情但无济于事。

我有一个仪表板控制器,可以在我的开发机器上正常工作,但是当它上传到它报告的生产服务器时:

  

Zend \ View \ Renderer \ PhpRenderer :: render:无法渲染模板" Dashboard \ Dashboard \ Index&#34 ;;解析器无法解析为文件

我已经检查了我的module.config.php文件中的视图模板(并且它已正确列在那里)

'template_path_stack' => array(
    'dashboard' => __DIR__ . '/../view',
),

文件也在那个物理位置......

我不确定我在这方面缺少什么,所以任何指针都会很棒。

更新:

以下是控制器的代码:

public function indexAction() {
        //check the users authenticity
        $userId = null;
        $auth = $this->getServiceLocator()->get('zfcuser_auth_service');

        if ($auth->hasIdentity()) {
            $user = $auth->getIdentity();
            $userId = $user->getId();
        } else {
            $this->redirect()->toUrl('/user/login');
        }

        //set the view model to improve performance
        //http://samminds.com/2012/11/zf2-performance-quicktipp-1-viewmodels/
        $viewModel = new ViewModel();
        $viewModel->setTemplate('Dashboard\Dashboard\Index');

        //return the amount of counts the various items have outstanding       
        $dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
        $systemRepo = $this->getSystemRepo($dbAdapter);

        $internalContacts = $systemRepo->widgetAlphabetList("Internal Contacts", $systemRepo->getInternalContacts(), 'firstname', 'surname');

       return $viewModel->setVariables(array(
                    'internalContacts' => $internalContacts
        ));
    }

该文件的完整路径是(在下面的末尾添加index.phtml):

/无功/网络/ HTML /模块/仪表板/视图/仪表板/仪表板

1 个答案:

答案 0 :(得分:0)

我要猜测dev机器不是区分大小写的文件系统而且prod区分大小写。试试这个:

function createProfile() {
        var window = $("#createProfileWindow").data("kendoWindow");

        //Dynamisches Vorgehen nicht möglich. Daher muss die URL untersucht werden
        //Hinweis: Für Produktiv/Test ist diese Funktion wahrscheinlich nicht notwendig, da Index nie "direkt" aufgerufen wird
        var url = 'Profile/Add';
        if ($(location).attr('href').indexOf("Index") >= 0) {
            url = '@MVC.Profile.ActionNames.Add';
        }

        $("#createProfileWindow").kendoWindow({
            content: {
                url: url
            }
        });
        window.open();
        window.center();

        profileId = null;
    }