五月 29, 2016 | 後端和Drupal
Features打包大哉問:究竟如何打包Admin Views與Commerce Views
Features是協同開發合作上面,不可或缺的一環,有好的開發流程,才能夠如實的作出盡善盡美的成品。而如何用Features打包整體的環境是很重要的一環,然而在打包的過程當中,常常我們都會遇到一些無法打包的狀況,而這次的例子,主要是針對一些系統或模組產生出來的Views,該如何進行打包。
前言
Features是協同開發合作上面,不可或缺的一環,有好的開發流程,才能夠如實的作出盡善盡美的成品。而如何用Features打包整體的環境是很重要的一環,然而在打包的過程當中,常常我們都會遇到一些無法打包的狀況,而這次的例子,主要是針對一些系統或模組產生出來的Views,該如何進行打包。
何種狀況
在Drupal的眾多模組裡面,有些模組安裝後,預設會產生出一些Views,而這些Views是無法被打包的,例如:Administration Views、Drupal Commerce...
這些模組所產生出來的Views,是可以於線上端修改,或著本機修改,但是若要運用Features打包,則會發現無法找到對應的Features這個殘酷的事情。
找不到任何Administration Views/Commerce產生出來的Views於Featues畫面
解決方法
因此,以下提供一個簡單的解決方式。
複製想要修改的Views,並且照你所想修改吧
首先進入系統的Views之後,Clone這個Views,並且照您所想,修改任何的欄位吧。在飯裡裡面取名叫做custom order(機器名稱為:custom_order)Unset原本預設的Views。(於自己的Custom Module裡面)
function mymodule_views_default_views_alter(&$views){
//array裡面輸入機器名稱
$views_to_disable = array('commerce_products','commerce_orders');
foreach ($views_to_disable as $view) {
if (isset($views[$view])) {
unset($views[$view]);
}
}
}
- 使用Features打包他吧
- 完成。
結論
Features是協同開發非常重要的一環,Views更是整個Drupal的核心中的核心,若遇到無法打包的狀況,真的會讓人非常的沮喪,用上述的方式,則可以完美的解決無法打包的問題。Enjoy!