Ich versuche, Keystone in ein CMS zu machen. Also, ich brauche Modelle für Artikel, Kategorie, ImagePage, AttachmentPage und so weiter. Jedes Modell, das ich erwähnte, hat eine Untergruppe von allgemeinen Feldern wie: Titel, Inhalt, Meta: {Titel, Beschreibung, Schlüsselwörter} und so weiter.Wie man Felder in Keystones Admin UI neu anordnet
Article.add(fieldsCollectionObject)
so definiert ich die allgemeinen Felder in externen Datei:
In Keystone ist ein Modell wie folgt aufgebaut
var T = require('keystone').Field.Types;
module.exports = {
title: { type: T.Text, required: true },
content: { type: T.Html, wysiwyg: true, height: 400 },
meta: {
title: { type: T.Text },
desc: { type: T.Textarea, height: 50 },
keywords: { type: T.Text },
},
publishedDate: { type: T.Date, index: true, dependsOn: { state: 'published' } },
state: { type: T.Select, options: 'draft, published, archived', default: 'draft', index: true },
};
und es in Modell der Datei require'd hatte ich tun:
Jetzt ist das Problem mit der Reihenfolge der Felder in der Admin-Benutzeroberfläche - nicht überraschend die brief
, category
und tags
gehen vor Feldern von pageDef
. Gibt es eine Möglichkeit, eine Bestellung aufzuerlegen, die ich möchte? Wie title
, brief
, content
, <the rest>
?
Das war's! Ich habe mich auf der Suche nach einem Felddefinitionsattribut wie "ordering: x" oder etwas angebracht, aber Ihre Lösung ist einfacher, aber clever.Ich habe es erweitert, um die Aufteilung der Entity-Seite in Abschnitte mit ihren Überschriften zu erfassen, aber natürlich geht es Ihnen gut :) Vielen Dank für Ihre Hilfe! – Forseti