日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Zurmo - - 全局配置

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zurmo - - 全局配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介: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 參數對應的頁面上:

    還有部分的參數的位置遲點再補上。

    如有不對,請指正!

    總結

    以上是生活随笔為你收集整理的Zurmo - - 全局配置的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。