0

我是梯形的新手。我想在管理 UI 中调整图像大小。我为此使用 CloudinaryImage。这是我的代码

keystone.js

require('dotenv').load();
var utils = require('keystone-utils');

// Require keystone
var keystone = require('keystone'),
    handlebars = require('express-handlebars');
    utils = keystone.utils;

var cloudinary = require('cloudinary')  
  , fs = require('fs');

var config = require ('./config');

keystone.init({

    'name': 'WISTLA',
    'brand': 'WISTLA',

        // 'sass': 'sass', // previously 'public'
    'static': 'public',
    'favicon': 'public/favicon.ico',
    'views': 'templates/views',
    'view engine': 'hbs',

    'custom engine': handlebars.create({
        layoutsDir: 'templates/views/layouts',
        partialsDir: 'templates/views/partials',
        defaultLayout: 'default',
        helpers: new require('./templates/views/helpers')(),
        extname: '.hbs'
    }).engine,

    'auto update': true,
    'session': true,
    'auth': true,
    'user model': 'CrmUser',
    'cookie secret': '2Vwn2mpd@-^ZRA7a}pQd(^y|u9%RC_c|:49D^zyGF_@?x1NmEoX75o7mlin9;IRt',
    //'mongo': config.dbUrl
    'mongo': 'mongodb://localhost/wistla-web' 

});

keystone.import('models');

keystone.set('cloudinary config', { 
    cloud_name: 'my-cloud-name', 
    api_key: 'my-api-key', 
    api_secret: 'my-api-secret-key'
});


keystone.set('locals', {
    _: require('underscore'),
    env: keystone.get('env'),
    utils: keystone.utils,
    editable: keystone.content.editable
});

keystone.set('routes', require('./routes'));

keystone.set('nav', {
    'crm-users': 'crm-users',
    'Mosaic':'Gallery',
    'Cities':'Cities',
    'Tiles text':'Tiles',
    'LogoLinks':'LogoLinks',
    'Team':'TeamAdvisory',
    'Press':'Press',
    'Jobs':'Job',
    'Terms':'Terms',
    'Privacy':'Privacy'
});

keystone.start();

模型

var keystone = require('keystone'),
    Types = keystone.Field.Types;

/**
 * TeamAdvisory Model
 * ==========
 */

var TeamAdvisory = new keystone.List('TeamAdvisory', {
    map: { name: 'name' },
    autokey: { path: 'slug', from: 'name', unique: true },
    sortable: true
});

TeamAdvisory.add({
    name: { type: String, required: true },
    title: { type: String},
    content: {
        bio: { type: Types.Html, wysiwyg: true, height: 150 }
    },
    image: { type: Types.CloudinaryImage, publicID: 'slug', folder: 'public/cms-images/team/'},
    flag: { type: Types.Select, options: 'Team, Advisory', default: 'Team', index: true }
});

TeamAdvisory.schema.virtual('content.full').get(function() {
    return this.content.bio;
});

TeamAdvisory.defaultColumns = 'name, title|20%, content.bio|20% ,flag|20%';
TeamAdvisory.register();

之后我重新启动我的服务器。我收到此错误。

Error: Invalid Configuration

CloudinaryImage fields (TeamAdvisory.image) require the "cloudinary config" option to be set.

See http://keystonejs.com/docs/configuration/#services-cloudinary for more information.

    at new cloudinaryimage (/home/rohit/wistla-web/node_modules/keystone/fields/types/cloudinaryimage/CloudinaryImageType.js:39:9)

有什么办法可以调整图片大小。

4

1 回答 1

1

在你的keystone.js你需要你.set('cloudinary config', ...)之前.import('models')

于 2015-05-29T00:22:22.937 回答