[Kobv-opus-tester] Dynamik in einem Enrichment Feld
Schwarz, Hermann
schwarz at dipf.de
Di Mai 21 21:20:30 CEST 2019
Hallo nochmal,
ich hab's hinbekommen, indem ich in MEIN_DOC_TYPE.phtml? das Array
$this->groupdipf_education_level['Fields']
?entsprechend anpasse, bevor ich es an die Methode
$this->group($this->groupdipf_education_level)
übergebe.
Wahrscheinlich würde es eleganter gehen, wenn man in
\Publish_View_Helper_Fieldset::renderHtmlSelect?($field, $options)
eine Möglichkeit hinzufügt, die Select-Optionen über den noch nicht benutzten Parameter $options zu setzen.
Ich mache vielleicht demnächst einen entsprechenden Pull-Request auf GitHub.
Viele Grüße
Hermann
________________________________
Von: Kobv-opus-tester <kobv-opus-tester-bounces at zib.de> im Auftrag von Schwarz, Hermann <schwarz at dipf.de>
Gesendet: Dienstag, 21. Mai 2019 19:02
An: kobv-opus-tester at zib.de
Betreff: [Kobv-opus-tester] Dynamik in einem Enrichment Feld
Liebe Opus-Community,
ich bin neu in der Runde und habe gleich folgende Frage:
ich habe ein neues Enrichmend-Feld Selektionsliste definiert
<field name="dipf_education_level" required="no" formelement="Select" datatype="Enrichment" multiplicity="*">
<option value="Grundschule"></option>
<option value="Gymnasium"></option>
</field>?
Was ich vermisse ich eine dynamische Belegung von Optionen. Ein Work-Around wäre, die XML-Datei, wo die Felder für meinen DocType definiert sind, immer wieder mit ggf. neuen Werten neu anzulegen / zu überschreiben.
Das erscheint mir aber nicht all zu elegant.
Vielleicht gibt es eine Möglichkeit, im .phtml-File des DocTypes die <option> Values zu überschreiben?
sowas wie
<?= $this->group($this->groupdipf_education_level->setOptionValues(['Grundschule', 'Gymnasium'])) ?>
statt
<?= $this->group($this->groupdipf_education_level) ?>
Ich habe mir
\Publish_View_Helper_Fieldset::renderHtmlSelect?($field, $options)
und
\Publish_View_Helper_Group::group($value, $options, $name)
angeschaut
und folgendes im .phtml-Template versucht:
<?php
$this->groupdipf_education_level['Fields']['options'] = [
'Val1' => 'Opt1',
'Val2' => 'Opt2',
];
?>
<?= $this->group($this->groupdipf_education_level) ?>
Aber ohne Erfolg.
Ich Vermute außerdem, dass das bisher unbenutzte Parameter $options in renderHtmlSelect?($field, $options) vielleicht für meine Zwecke gedacht war, aber die Logik noch nicht implementiert wurde.
Danke für Hilfe im Voraus!
Hermann
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://listserv.zib.de/pipermail/kobv-opus-tester/attachments/20190521/c0fc2358/attachment.html>
Mehr Informationen über die Mailingliste Kobv-opus-tester