Tôi hiện đang cố gắng tìm hiểu sâu hơn về các Thành phần UI nhưng tôi hơi bị kẹt ở đây.
Vì sẽ hơi nhiều để đăng tất cả mã ở đây, tôi sẽ chỉ đăng một số liên kết github có liên quan.
Những gì hoạt động là tải lên một hình ảnh và lưu tên tệp vào cơ sở dữ liệu.
Những gì không hoạt động là tải lại tệp trong đầu vào tệp trên trang mẫu chỉnh sửa một lần nữa.
Đầu vào hình ảnh được xác định tại đây: https://github.com/davidverholen/magento2-teaser/blob/develop/view/adminhtml/ui_component/teaser_item_form.xml#L83
Lớp học hiện đang trống, tôi đã thử nhiều thứ ngày hôm nay nhưng dường như không có gì quá hứa hẹn và tôi thậm chí không chắc là mình có cần không: https://github.com/davidverholen/magento2-teaser/blob/develop/Ui/Component/ Biểu mẫu / Phần tử / TeaserItemImage.php
Nguồn dữ liệu cho biểu mẫu có tại đây: https://github.com/davidverholen/magento2-teaser/blob/develop/Model/TeaserItem/DataProvider.php
(cũng đã thử tải image_url tại đây và sử dụng nó làm chỉ mục trường)
cũng có một tài liệu cho việc này và tôi có thể quá ngu ngốc để hiểu cách làm điều này: http://devdocs.magento.com/guides/v2.0/ui-components/ui-form.html
Bất kỳ ý tưởng hoặc bất cứ ai đã làm điều này?
Thx trước!
Cập nhật:
Tôi đã tìm thấy điều này trong thành phần phương tiện (được sử dụng cho hình ảnh): nhà cung cấp / magento / module-ui / view / base / web / js / form / Element / media.js
return Abstract.extend({
defaults: {
links: {
value: ''
}
},
Tôi chưa quen với toàn bộ điều knockout.js, nhưng có vẻ như ràng buộc giá trị đã bị xóa. Vậy phải có cách nào khác để đặt giá trị?
Tôi cũng đã cố gắng thiết lập ràng buộc một lần nữa trong cấu hình nhưng không thành công. Đã thử điều này (đã thêm image_path_abs vào nguồn dữ liệu chứa đường dẫn tệp tuyệt đối):
<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>