Zurmo - - 全局配置
簡介:Zurmo的很多功能都是通過配置的形式來完成,有
全局配置的一些功能體現在,頂部的導航行,最左邊的導航行等等,這些都是公共的部分。此外還有一些其他的功能,這里就不一一列舉了。模塊獨立的配置是針對模塊內部的配置,每個模塊的樣式,功能都可以根據配置的參數來改變。接下來介紹全局的配置。
二:Zurmo讀取數據順序
1:系統安裝時候的順序:
讀取代碼配置 --> 存入數據庫 --> 緩存2:以后系統運行的時候順序:
緩存 --> 數據庫 --> 代碼配置詳解第一點:
Zurmo安裝的時候,會從一些代碼配置文件讀取配置,比如 zurmo/app/protected/modules/zurmo/ZurmoModule.php文件,代碼如下。
public static function getDefaultMetadata(){$metadata = array();$metadata['global'] = array('configureMenuItems' => array(array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'Global Configuration')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage Global Configuration')",'route' => '/zurmo/default/configurationEdit','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'Currency Configuration')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage Currency Configuration')",'route' => '/zurmo/currency/configurationList','right' => self::RIGHT_ACCESS_CURRENCY_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('Core', 'Languages')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage Active Languages')",'route' => '/zurmo/language/configurationList','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'Developer Tools')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Access Developer Tools')",'route' => '/zurmo/development/','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'Authentication Configuration')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage Authentication Configuration')",'route' => '/zurmo/authentication/configurationEdit','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'Plugins')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage Plugins and Integrations')",'route' => '/zurmo/plugins/configurationEdit','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'User Interface Configuration')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage User Interface Configuration')",'route' => '/zurmo/default/userInterfaceConfigurationEdit','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),array('category' => ZurmoModule::ADMINISTRATION_CATEGORY_GENERAL,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'System Configuration')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage System Configuration')",'route' => '/zurmo/default/systemConfigurationEdit','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),),'headerMenuItems' => array(array('label' => "eval:Zurmo::t('ZurmoModule', 'Administration')",'url' => array('/configuration'),'right' => self::RIGHT_ACCESS_ADMINISTRATION,'order' => 1,'mobile' => false,),array('label' => "eval:Zurmo::t('ZurmoModule', 'Get More')",'url' => 'eval:ZurmoModule::resolveGetMoreUrl()','order' => 9,'mobile' => true,),array('label' => "eval:Zurmo::t('ZurmoModule', 'About Zurmo')",'url' => array('/zurmo/default/about'),'order' => 10,'mobile' => true,),),'configureSubMenuItems' => array(array('category' => self::ADMINISTRATION_CATEGORY_AUTHENTICATION,'titleLabel' => "eval:Zurmo::t('ZurmoModule', 'LDAP Configuration')",'descriptionLabel' => "eval:Zurmo::t('ZurmoModule', 'Manage LDAP Authentication')",'route' => '/zurmo/ldap/configurationEditLdap','right' => self::RIGHT_ACCESS_GLOBAL_CONFIGURATION,),),'adminTabMenuItemsModuleOrdering' => array('home','configuration','designer','import','groups','users','roles','workflows','contactWebForms'),'tabMenuItemsModuleOrdering' => array('home','mashableInbox','accounts','leads','contacts','opportunities','marketing','projects','products','reports',));return $metadata;}之后會把這些配置信息存入到數據庫的一個名叫 globalmetadata 的表。配置以序列化的形式存入 serializedmetadata 字段中,我們可以選取 一條 classname 的值為 ZurmoModule 的序列化值解序列出來看看。就可以發現ZurmoModule的配置是其中的一部分,還有一部分是從其他地方讀取。之后會存入緩存中。
PS:有時候可能會出現你改了這里的配置,但是頁面卻沒有改變。
- 原因就是以后系統是先讀緩存。有時候清除了緩存,但是頁面還是沒有發生變化,
- 那是因為之后是讀取數據庫的數據的,如果你把數據庫的對應數據刪除了,再刷新頁面。有可能會報錯
- 因為這個時候你沒有把配置存入數據庫中。要先執行 Update Custom Data 操作,這個操作的本質就是把配置存入globalmetadata 表中。之后再刷新頁面,頁面就發生改變了。
上面的注解就是第二點的以后系統運行的時候讀取數據的順序了。
三:清除緩存 和 Update Custom Data的操作
具體步驟看我在CSDN的文章,這兩點的重要性我也在博客寫了。很多時候的操作與這兩步密切相關。
四:getDefaultMetadata()方法 metadata['global'] 數組中的部分配置參數:
- configureMenuItems
- headerMenuItems
- configureSubMenuItems
- adminTabMenuItemsModuleOrdering
- tabMenuItemsModuleOrdering
headerMenuItems參數對應的頁面上:
adminTabMenuItemsModuleOrdering 參數對應的頁面上:
tabMenuItemsModuleOrdering 參數對應的頁面上:
還有部分的參數的位置遲點再補上。
如有不對,請指正!
總結
以上是生活随笔為你收集整理的Zurmo - - 全局配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试过程中常用的linux命令之【查找指
- 下一篇: ***解决UEditor编辑器无法插入第