Wie konfiguriert man Array-Objekte in einem Plugin? Ich habe es mit json_schema versucht, aber Objektschreibweisen können keine Selektoren wie category verwenden; es ist nur die Texteingabe möglich. type: objects funktioniert hingegen überhaupt nicht in den Plugin-Konfigurationen.
Die Konfiguration für json_schema:
quectel_online_customer_category_customers:
default: "[]"
client: true
json_schema: QuectelOnlineCustomer::SiteSettings::CategoryCustomersJsonSchema
plugins/quectel-online-customer/lib/quectel_online_customer/site_settings/category_customers_json_schema.rb:
# frozen_string_literal: true
module QuectelOnlineCustomer
module SiteSettings
class CategoryCustomersJsonSchema
def self.schema
@schema ||= begin
{
type: "array",
uniqueItems: true,
default: [],
items: {
type: "object",
title: „Konfiguration der Kategorie-Kunden",
additionalProperties: false, # Nicht definierte Felder dürfen nicht übermittelt werden
required: %w[category customers], # Beide Felder sind erforderlich
properties: {
category: {
type: "category",
description: „Verknüpfte Forumskategorie",
label: „Kategorie"
},
customers: {
type: "usernames", # Mehrfachauswahl von Benutzern als Ersatz für den einzelnen Benutzernamen „username"
description: „Kundenkonten, die dieser Kategorie zugewiesen sind; Mehrfachauswahl unterstützt",
label: „Kundenbenutzer"
}
}
}
}
end
end
end
end
end