Hallo. Mit dem Code, den @angus hier bereitgestellt hat, und unter Bezugnahme auf das GitHub-Repo funktioniert das benutzerdefinierte Themenfeld bei mir gut – außer dass es nicht möglich ist, es im Kopfbereich des Editors zu bearbeiten (dort, wo man normalerweise z. B. die Kategorie ändern kann; also im edit-topic-Connector).
Ich habe den Code dafür im Repo befolgt, einschließlich des Codes in plugin.rb und an anderer Stelle. Zum Beispiel habe ich die Eingabe in der Datei connectors/edit-topic/edit-topic-custom-field-container.hbs hinzugefügt (wie hier):
{{#if isString}}
{{input
type="text"
value=(readonly fieldValue)
class="topic-custom-field-input large"
input=(action "onChangeField" value="target.value")
placeholder=(i18n 'topic_custom_field.placeholder' field=fieldName)
}}
{{/if}}
Und zusätzlich den Code im topic-custom-field-initializer, so wie hier:
api.registerConnectorClass('edit-topic', 'edit-topic-custom-field-container', {
setupComponent(attrs, component) {
const model = attrs.model;
let props = {
fieldName: fieldName,
fieldValue: model.get(fieldName)
}
component.setProperties(Object.assign(props, fieldInputTypes(fieldType)));
},
actions: {
onChangeField(fieldValue) {
this.set(`buffered.${fieldName}`, fieldValue);
}
}
});
...
api.serializeOnCreate(fieldName);
api.serializeToDraft(fieldName);
api.serializeToTopic(fieldName, `topic.${fieldName}`);
Aber: Während der Rest des Repos-Code bei mir funktioniert (z. B. das Hinzufügen des benutzerdefinierten Feldwerts im Editor), und ich keine Fehlermeldungen erhalte, kann ich den Wert, den ich im Eingabefeld des edit-topic-Connectors eingebe, nicht speichern. Wenn ich dort einen Wert eingebe, verschwindet dieser nach dem Speichern der Bearbeitung wieder.
Ist es möglich, dass für das Speichern des Werts im edit-topic-Connector noch etwas anderes erforderlich ist?