2012-07-03 126 views
4

前一段時間,我創建了兩種內容類型:'protocol'和'protocol2' 他們有點不同,我還不確定其中一個最適合我的目的,所以我嘗試了兩個並創建了每個內容。有些測試後,我的結論是,「協議2」是一個我要去使用,並且我希望它被稱爲「協議」而不是「協議2」。但是我想保存協議內容類型的其他版本,所以我教過我會簡單地給他們起個名字。Drupal:數據庫中的內容類型不在結構>內容類型中的內容類型列表中

所以我試着打開它們的名字,但是在這個過程中,出現了我想使用的'protocol2'內容類型出錯,它只是消失了。所以我教了。無論如何,我將'protocol'重命名爲'protocol1'(名稱和機器名稱)。並重新創建了一個消失的人。我給它命名協議,並試圖給它的機器名「協議」,但這個沒有工作,所以我最後不得不將其命名爲協議2一次。

我現在發現數據庫中的node_type表中實際上有一個內容類型,其中包含機器名「protocol」,當我查看頁面上的Structure> Content類型時,該內容類型不會顯示出來。我可以簡單地從該表中清除它,還是有其他更多的方法來做到這一點?

我一直在使用有機組,並且有一些類型爲'protocol'或'protocol2'的內容類型與某些組相關聯(我不記得是哪個)。我認爲這是搞砸了組頁面上的一個觀點。標題爲「將內容發佈到組」的列表由「Post」和一個空列表元素組成。我可以在哪裏控制這個列表?這不應該是一種觀點嗎?

回答

3

node_type表中,確保locked爲0,對於所有「協議」類型,disabled都爲0。更改所有的orig_type值,以匹配其目前的type值。清除admin/config/development/performance中的Drupal緩存。

他們都應該出現在你的「內容類型」列表中,您可以從那裏工作。

這是Drupal 8的一個活動錯誤,在Drupal issue 515454下有任何補丁可能被反向移植。

+0

這是個問題,如果兩行具有相同的orig_type價值?我有三種類型的協議: type:'protocol'orig_type:'protocol2'(我看不到), type:'protocol1'orig_type:'protocol', type:'protocol2'orig_type:'協議2' 。 設置orig_type與類型相同是什麼?我是否也應該更改'protocol1'orig_type? – numfar

+0

我會改變所有的orig_types,以滿足他們的類型公正,以確保它們不會互相沖突。我不認爲重複的orig_types一定是一個問題,但我會避免它。問題在於Drupal在列出內容類型時會過濾出與其類型不匹配的orig_type值。它的思想是:添加協議並刪除protocol2;添加protocol1並刪除協議(刪除以前的類型);添加協議2。 – scronide