摘要:接下來介紹全局的配置。之后會把這些配置信息存入到數據庫的一個名叫的表。要先執行操作,這個操作的本質就是把配置存入表中。
簡介:Zurmo的很多功能都是通過配置的形式來完成,有
全局的配置(metadata)
每個模塊獨立的配置(metadata)
全局配置的一些功能體現在,頂部的導航行,最左邊的導航行等等,這些都是公共的部分。此外還有一些其他的功能,這里就不一一列舉了。模塊獨立的配置是針對模塊內部的配置,每個模塊的樣式,功能都可以根據配置的參數來改變。接下來介紹全局的配置。
二: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 參數對應的頁面上:
還有部分的參數的位置遲點再補上。
如有不對,請指正!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26018.html
摘要:接下來介紹全局的配置。之后會把這些配置信息存入到數據庫的一個名叫的表。要先執行操作,這個操作的本質就是把配置存入表中。 簡介:Zurmo的很多功能都是通過配置的形式來完成,有 全局的配置(metadata) 每個模塊獨立的配置(metadata) 全局配置的一些功能體現在,頂部的導航行,最左邊的導航行等等,這些都是公共的部分。此外還有一些其他的功能,這里就不一一列舉了。模塊獨立的配...
摘要:作用不祥與測試目錄多對多字段的實現需要用上,還有模塊頁面模態框里面的數據顯示也要等等作用不祥存放視圖文件可能與某些視圖組件相關的目錄模塊的全局配置文件上面這些目錄里面的下一級目錄就不在詳細介紹,開發者自己去摸索了。歡迎補充,如有不對,請指正 目錄介紹 根目錄下的第一層目錄 app 代碼主目錄 redbean redbean 代碼目錄 yii ...
摘要:作用不祥與測試目錄多對多字段的實現需要用上,還有模塊頁面模態框里面的數據顯示也要等等作用不祥存放視圖文件可能與某些視圖組件相關的目錄模塊的全局配置文件上面這些目錄里面的下一級目錄就不在詳細介紹,開發者自己去摸索了。歡迎補充,如有不對,請指正 目錄介紹 根目錄下的第一層目錄 app 代碼主目錄 redbean redbean 代碼目錄 yii ...
閱讀 3948·2021-09-24 10:24
閱讀 1386·2021-09-22 16:01
閱讀 2713·2021-09-06 15:02
閱讀 1013·2019-08-30 13:01
閱讀 1002·2019-08-30 10:52
閱讀 632·2019-08-29 16:36
閱讀 2231·2019-08-29 12:51
閱讀 2332·2019-08-28 18:29