2017-12-09 5 views
1

Ich versuche, mich mit Netlify CMS mit Hugo ssg zu beschäftigen.Sammlungen in Hugo-Datendatei mit Netlify CMS

Ich benutze:

[email protected] 
[email protected] 

Ich habe eine einfache netlify-cms config.yml mit zwei Sammlungen: Beiträge und Autoren.

backend: 
    name: github 
    repo: sebhewelt/atlas 
    branch: master 

    display_url: https://mypage.com 
    publish_mode: editorial_workflow 
    media_folder: "static/uploads" 
    public_folder: "/uploads" 
    collections: 

    - label: "Posts" 
     name: "post" 
     folder: "content" 
     create: true 
     slug: "{{year}}-{{month}}-{{day}}-{{slug}}" 
     fields: 
     - { label: "Title", name: "title", widget: "string" } 
     - { label: "Publish Date", name: "date", widget: "datetime" , format: "YYYY-MM-DD hh:mma"} 
     - { label: "Body", name: "body", widget: "markdown" } 


    - label: "Authors" 
     name: "author" 
     folder: "data" 
     create: true 
     fields: 
     - {label: "Name", name: "name", widget: "string"} 
     - {label: "About", name: "about", widget: "string"} 

Die Dokumente unterscheiden zwei Sammlungstypen, von denen ich nehme an, ich sollte Dateisammlung wählen, da ich die Autoren Daten in einer Datei halten möchten.

Ich würde gerne in der Lage sein, Autoren über Admin-Dashboard hinzuzufügen und es in Datei im Datenordner zu speichern. Die Dokumentation bietet kein Beispiel dafür, wie die Datei, in der die Autoren gespeichert sind, aussehen sollte (oder macht das CMS sie automatisch?).

Ich erhalte einen Fehler mit meiner aktuellen Konfiguration. Wenn ich die Rettung der "New Autor" i diese:

Failed to persist entry: Error: Collection must have a field name that is a valid entry identifier

Warum ich diese Fehlermeldung erhalten Sie?

Antwort

4

Ihre Authors-Datei muss unter einer Top-Level-Sammlung sein. Wenn Sie der Datei mehrere Autoren hinzufügen möchten, müssen Sie die Widgets "name" und "about" in ein Widget vom Typ "list" umbrechen.

Beispiel:

collections: 
    - label: "Settings" 
     name: "settings" 
     files: 
     - name: "authors" 
      label: "Authors" 
      file: "data/authors.yml" 
      extension: "yml" 
      fields: 
      - label: "Author" 
       name: "author" 
       widget: "list" 
       fields: 
       - {label: "Name", name: "name", widget: "string"} 
       - {label: "About", name: "about", widget: "string"} 

CMS-Dokumentation für Dateisammlungen: https://www.netlifycms.org/docs/collection-types/#file-collections

CMS-Dokumentation für die Liste Widgets: https://www.netlifycms.org/docs/widgets/#list