2016-09-15 3 views
0

При создании сайта с KeystoneJS, как я могу добавить некоторые переменные конфигурации всего сайта, которые хранятся в базе данных, которые можно управлять с помощью администратора - в духе Craft CMS's 'globals' ?KeystoneJS: переменные конфигурации сайта в базе данных

Об этом я ничего не могу найти в Keystone database documentation, и предпочел бы не использовать синглет с списком Keystone (например, путем реализации списка, который имеет только один элемент), если это вообще возможно.

ответ

1

Я только что общался с одним из разработчиков Keystone об этом. Это было widely discussed on ProductPains, и, как выясняется, имея синглтона список в настоящее время (по состоянию на 0.3.x) единственный способ сделать это:

  • Определить новую модель, например, models/Configuration.js:
const keystone = require('keystone'); 
const Types = keystone.Field.Types; 

const Configuration = new keystone.List('Configuration', { 
    nocreate: true, 
    nodelete: true, 
    label: 'Configuration', 
    path: 'configuration', 
}); 

Configuration.add({ 
    siteName: { type: String }, 
    siteDescription: { type: Types.Textarea }, 
}); 

Configuration.defaultColumns = 'siteName, siteDescription'; 
Configuration.register(); 
  • Добавить обновление, например, updates/0.0.2-configuration.js:
exports.create = { 
    Configuration: [ 
    { 'siteName': 'My site', 'siteDescription': 'TODO' } 
    ] 
}; 

 Смежные вопросы

  • Нет связанных вопросов^_^