2016-03-01 43 views
1

我是KeystoneJS中的新成員,並且正試圖在管理面板中添加新的導航選項卡,所以對於我在keystone.js文件中進行的更改並添加在代碼所需的導航標籤在CMS(keystone JS)中添加新的導航選項卡

keystone.set( 'NAV',{ .... });

但使得在它的變化,然後運行該代碼之後我得到錯誤未知keystone列表「newTab」

+0

這是爲什麼沒有評論標記?看來這些管理員定製問題大部分都是。目前還沒有明確的答案,所以我不認爲這個問題應該受到懲罰......我的意思是說,正確的語法是在文檔中,但顯然有些用戶找不到它。 –

回答

2

我不知道你的模型的名稱,但正確的語法是:

keystone.set('nav', { 
    '<tab-name>': '<modelname>' 
}); 

何處標籤名稱可以是任何東西,MODELNAME應該是準確的(區分大小寫!)同名作爲您的型號名稱或小寫字母的複數版本。

例如:
你的模型:Artwork.js

var Artwork = new keystone.List('Artwork', { ... }); 

您的導航定義:

keystone.set('nav', { 
    'art': 'Artwork' 
}); 

OR

keystone.set('nav', { 
    'art': 'artworks' 
}); 
+0

我更新到小寫的複數版本的模型,它修復了錯誤,但我很好奇它爲什麼必須是複數版本? @JasperV –

+0

@Yao:據我所知,這是一個Mongoose的東西:https://stackoverflow.com/questions/10547118/why-does-mongoose-always-add-an-s-to-the-end-我的集合名稱 Keystone也支持它...雖然您也可以覆蓋集合名稱,請在github頁面上查看此評論:https://github.com/keystonejs/keystone/issues/292#issuecomment -40897315 – JasperV

相關問題