Saat ini saya mencoba menggali lebih dalam ke Komponen UI tetapi saya agak terjebak di sini.
Karena akan sedikit banyak memposting semua kode di sini, saya hanya akan memposting beberapa tautan github yang relevan.
Yang berhasil adalah mengunggah gambar dan menyimpan nama file ke database.
Yang tidak berfungsi adalah memuat file di input file pada halaman edit form lagi.
Input gambar didefinisikan di sini: https://github.com/davidverholen/magento2-teaser/blob/develop/view/adminhtml/ui_component/teaser_item_form.xml#L83
Kelas saat ini kosong, saya mencoba banyak hal hari ini tetapi tidak ada yang tampak terlalu menjanjikan dan saya bahkan tidak yakin jika saya membutuhkannya: https://github.com/davidverholen/magento2-teaser/blob/develop/Ui/Component/ Formulir / Elemen / TeaserItemImage.php
DataSource untuk formulir ada di sini: https://github.com/davidverholen/magento2-teaser/blob/develop/Model/TeaserItem/DataProvider.php
(juga mencoba memuat image_url di sini dan menggunakan ini sebagai indeks bidang)
ada juga dokumen untuk ini dan saya mungkin terlalu bodoh untuk mengerti bagaimana melakukan ini: http://devdocs.magento.com/guides/v2.0/ui-components/ui-form.html
Adakah Ide atau siapa pun yang telah melakukan ini?
Terima kasih sebelumnya!
Memperbarui:
Saya menemukan ini di komponen media (yang digunakan untuk gambar): vendor / magento / module-ui / view / base / web / js / form / element / media.js
return Abstract.extend({
defaults: {
links: {
value: ''
}
},
Saya baru dalam hal knockout.js keseluruhan, tetapi sepertinya ikatan nilai dihapus. Jadi harus ada cara lain untuk mengatur nilainya?
Saya juga mencoba mengatur pengikatan lagi dalam konfigurasi tetapi tidak berhasil. Mencoba ini (menambahkan image_path_abs ke sumber data yang berisi path file absolut):
<field name="image_path" class="DavidVerholen\Teaser\Ui\Component\Form\Element\TeaserItemImage">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="links" xsi:type="array">
<item name="value" xsi:type="string">teaser_item_form.teaser_item_form_data_source.general.image_path_abs</item>
</item>
<item name="label" xsi:type="string">Image</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="dataType" xsi:type="string">text</item>
<item name="formElement" xsi:type="string">image</item>
<item name="source" xsi:type="string">general</item>
</item>
</argument>
</field>