2015-10-19 69 views
0

我已經通過其他類似的問題在這裏嘗試了很多事情,但無濟於事。ZF2解析器無法解析爲文件(但適用於開發環境)

我有一個儀表盤控制器正常工作我的開發機上,雖然當它被上傳到它報告的生產服務器:

的Zend \查看\渲染器\ PhpRenderer ::渲染:無法呈現模板「儀表盤\儀表板\目錄」;解析器無法解析到一個文件

我檢查了我的module.config.php文件的視圖模板(和它的上有正確列出)

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

和文件也是在那個物理位置。 ..

我不知道我在這方面缺少什麼,所以任何指針會很好。

UPDATE:

這裏是控制器的代碼:

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上的下方的端部):

/var/www/html/module/Dashboard/view/dashboard/dashboard

+0

嘗試替換'__DIR__。 '/../ view''使用dirname(__ DIR__)。 '/ view'' – Yang

+0

請在您的控制器中顯示代碼(您設置視圖的位置)。 – Wilt

+0

什麼是文件的完整路徑? –

回答

0

我打算猜測dev機器不是大小寫敏感的文件系統,並且prod區分大小寫。試試這個:

$viewModel->setTemplate('dashboard/dashboard/index') 
+0

你好,我嘗試過,但它也沒有工作,雖然它看起來更美觀,所以我將他們所有的模板調用改爲小寫(以防萬一) – mailman1979