2012-06-05 52 views
0

我想在運行時根據存儲在數據庫用戶的權限來創建菜單,我用ACL盛大和撤銷資源..如何初始化數據庫插件之前加載layout.phtml

現在我想加載菜單取決於用戶權限。

這裏是我的navigation.phtml子頁面

<?php 

$resourceLoader = new Application_Plugin_ResourceLoader(); 
$namaspace = new Zend_Session_Namespace('Zend_Auth'); 

$db = $registry::get('pmodel_Db'); 

$roleId = $namaspace->id; 
$module = $resourceLoader->getUserModulesPrivileges($db, $roleId); 

var_dump($module); 

?> 

我加載數據庫pmodel_Db的引導,我面對一個異常

Notice: Undefined variable: registry in D:\wamp\www\zend_apps\inspect\application\layouts\scripts\navigation.phtml on line 6. 

問題意味着,layout.phtml包括導航.phtml頁面在引導文件中的_initDbRegistry()方法之前加載。

如何在加載佈局之前加載pmodel_Db?

回答

0

你必須使用這個

$db = Zend_Registry::get('pmodel_Db'); 

問題意味着,包括 navigation.phtml頁面layout.phtml在 引導文件中_initDbRegistry()方法之前加載

你錯了,Zend不會派遣請求直到它啓動所需的資源。

您訪問註冊表的方式是錯誤的。

+0

我使用變量而不將它分配給Zend_Registry:S – palAlaa

相關問題