magento xml配置詳解

來源:互聯網
上載者:User

<?XML版本=“1.0”? <config>   <節>    實施例translate="label">       <label>的一個例子</標籤>      一個<tab>一般</標籤>      的<frontend_type>文本</ frontend_type>       <sort_order> 1000 </排序次序>       <show_in_default> 1 </ show_in_default>       <show_in_website> 1 </ show_in_website>       <show_in_store> 1 </ show_in_store>     </例>   </章節> </配置>

使用某些標記的名字都是整個system.xml ,可以用在這些部分中,組和欄位定義:

  • EXAMPLE給出了一個獨特的名字,所以它不會覆蓋任何其他部分。在現實中,全部小寫名字是首選。
  • label是可見的段名。
  • tab是章節列表中的任何現有標題的名稱。
  • frontend_type這裡始終是text但習慣於使用很多的。
  • sort_order選項卡中,把這項新條文。如果省略了新的部分只是附加代替。
  • show_in_defaultshow_in_websiteshow_in_store顯示或隱藏(1或0)本節“當前配置範圍”下拉頁面左上方選擇不同的範圍。省略其中一個是相同的,其設定為0。
  • comment你可以添加你自己的評論到一個欄位或組。

集團system.xml中使用特定的標籤名稱:

  • expanded群組是否會擴大時,預設情況下,查看特定的標籤部分。

這是因為它是一個新的頁面,頁面管理需要的許可權。 接下來,建立該檔案Company/Module/etc/adminhtml.xml

 <?XML版本=“1.0”? <config>   <acl>     <resources>       <ALL>         <TITLE>允許所有</ TITLE>       </>      使用<admin>         <子女>           <SYSTEM>             <子女>               <config>                 <子女>                   (實施例translate="title">)                     <TITLE>為例科</ TITLE>                     <sort_order> 100 </ sort_order>                   </例子>                 </兒童>               </配置>             </兒童>           </>         </兒童>       </管理>     </資源>   </ ACL> </配置>

注意: adminsystem config已經定義了核心模組,所以沒有必要定義一個標題為這些。

添加到現有節

如果你想在現有的部分模組的配置出現,然後使用它的名字,並沒有重新定義它的label ,的sort_order或任何其他標記。現有部分已授予它的許可權。

 <?XML版本=“1.0”? <config>   <節>     <General>下       <! - 你補充在這裡 - >     </一般>   </章節> </配置>
建立一個新組  

組是在一個區段內頁的擴充的fieldsets的,他們總是一節的孩子。 編輯你的Company/Module/etc/system.xml檔案:

 <?XML版本=“1.0”? <config>   <節>    實施例translate="label">       <label>的一個例子</標籤>      一個<tab> </標籤>      的<frontend_type>文本</ frontend_type>       <sort_order> 1000 </排序次序>       <show_in_default> 1 </ show_in_default>       <show_in_website> 1 </ show_in_website>       <show_in_store> 1 </ show_in_store>       <groups>         <! - 新組去這裡 - >         <樣品translate="label">的           <label>的A樣品集團</標籤>          的<frontend_type>文本</ frontend_type>           <sort_order> 100 </ sort_order>           <show_in_default> 1 </ show_in_default>           <show_in_website> 1 </ show_in_website>           <show_in_store> 1 </ show_in_store>         </樣品>       </>     </例>   </章節> </配置>
建立一個新的領域  

欄位是兒童組同樣的方式,基團是部分的兒童。

 <?XML版本=“1.0”? <config>   <節>    實施例translate="">       <label>的一個例子</標籤>      一個<tab> </標籤>      的<frontend_type>文本</ frontend_type>       <sort_order> 1000 </排序次序>       <show_in_default> 1 </ show_in_default>       <show_in_website> 1 </ show_in_website>       <show_in_store> 1 </ show_in_store>       <groups>         <樣品translate="label">的           <label>的A樣品集團</標籤>          的<frontend_type>文本</ frontend_type>           <sort_order> 100 </ sort_order>           <show_in_default> 1 </ show_in_default>           <show_in_website> 1 </ show_in_website>           <show_in_store> 1 </ show_in_store>           <FIELDS>             <! - 新欄位去這裡 - >             <ENABLED translate="label comment">               <label>的啟用</標籤>               <COMMENT>                 <![CDATA [該文本出現一個小箭頭下方的領域。                  <span class="notice">它可以包含HTML格式的!</ SPAN>]]>               </評論>               <frontend_type>選擇</ frontend_type>               <source_model> adminhtml / system_config_source_yesno </ source_model>               <sort_order> 10 </ sort_order>               <show_in_default> 1 </ show_in_default>               <show_in_website> 1 </ show_in_website>               <show_in_store> 1 </ show_in_store>             </啟用>           </領域>         </樣品>       </>     </例>   </章節> </配置>

comment提供額外的說明或資訊是非常有用的。包裹它的文本在CDATA標籤,如果你想使用HTML,任何HTML是允許的,但最常見的用途是建立亮點跨度“通知”或“警告”類。


frontend_type可以是任何類別/lib/Varien/Data/Form/Element/目錄。這裡只是一些:

  • 複選框
  • 複選框
  • 檔案
  • 鏡像檔案
  • 映像
  • 標籤
  • 連結
  • 多行
  • 多選
  • 注意
  • 暗紋
  • 密碼
  • 無線電
  • 收音機
  • 複位
  • 選擇
  • 提交
  • TEXTAREA
  • 文本
  • 時間

相反的frontend_type你也可以指定塊名稱中的典型module/path_to_file格式。此塊將有_getElementHtml()方法調用,使用此欄位的控制返回的HTML。即使它被稱為frontend_model它確實是一個塊。


對於所有清單類型的欄位提供可能的選項的Mage/Adminhtml/Model/System/Config/Source目錄中包含了很多有用的來源已經定義,如“是/否”或“啟用/禁用”或您指定一個模型類。國家,貨幣或語言的列表。

您還可以建立自己的源模型和典型module/path_to_file格式中指定它。返回一個嵌套數組像這樣:

 <?PHP類Company_Module_Model_Source {  公用職能toOptionArray()   {    返回陣列(      陣列('價值'=> 0,'標籤'=>法師::幫手() - > __('第一項')),      陣列('值'=> 1,'標籤'=>法師::幫手() - > __(“第二項”))      陣列('價值'=> 2,“標籤”=>法師::幫手() - > __(“第三項”)),      / / ...     );   } }

這樣一個欄位儲存的值將包含一個字串,如'1,2,3'的選定值。


欄位的配置資料通常儲存在core/config_data模型,但你也可以定義你自己的。它的_afterLoad()方法被調用前場顯示,被稱為的_beforeSave()_afterSave()方法,當使用者點擊“儲存配置”按鈕。 使用這些事件的資料,執行額外的檢查可能會拋出一個異常在_beforeSave()或更新本地檔案在_afterSave()


validate標籤的內容作為一個階級的最終輸入元素加入。 下面是Magento的表單驗證的標準測試。

  • 驗證管理員密碼
  • 驗證阿賈克斯
  • 驗證-α
  • 驗證alphanum的
  • 驗證CC-CVN
  • 驗證CC-EXP
  • 驗證毫升數
  • 驗證毫升型
  • 驗證CC型選擇
  • 驗證清潔網址
  • 驗證碼
  • 驗證cpassword的
  • 驗證CSS長度
  • 驗證貨幣美元
  • 驗證資料
  • 驗證日期
  • 驗證日期太子港
  • 驗證數字
  • 驗證電子郵件
  • 驗證傳真
  • 驗證大於零
  • 驗證標識
  • 驗證長度
  • 驗證新密碼
  • 驗證未負號
  • 驗證號碼
  • 驗證要求
  • 驗證要求按姓名
  • 驗證密碼
  • 驗證%
  • 驗證手機
  • 驗證選擇
  • 驗證SSN
  • 驗證狀態
  • 驗證街頭
  • 驗證網址
  • 驗證XML標識符
  • 驗證零或更大
  • 驗證拉鏈
  • 驗證郵編國際

這是非常簡單的Company/Module/etc/config.xml

 <?XML版本=“1.0”? <config>   <DEFAULT>     <例>       <SAMPLE>        設為Enabled 1 </啟用>       </樣品>     </例>   </預設> </配置>

這裡ENABLED領域一直採用adminhtml/system_config_source_yesno源模式定義為“否”,'0'和'1'為'是'。設定預設為'1'意味著“啟用”的領域將是'是',直到使用者改變它。


最快的方式訪問儲存的欄位值是這樣的:

法師:: getStoreConfig(例如/採樣/啟用');

section/group/field格式的路徑總是在考慮getStoreConfig()預設值,網站或商店範圍。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.