2016-03-01 41 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

相关问题