Atualmente, estou tentando aprofundar os componentes da interface do usuário, mas estou meio preso aqui.
Como seria um pouco demais postar todo o código aqui, postarei alguns links relevantes do github.
O que funciona é fazer upload de uma imagem e salvar o nome do arquivo no banco de dados.
O que não funciona é carregar o arquivo na entrada de arquivo na página de edição do formulário novamente.
A entrada da imagem é definida aqui: https://github.com/davidverholen/magento2-teaser/blob/develop/view/adminhtml/ui_component/teaser_item_form.xml#L83
A aula está vazia no momento, tentei muitas coisas hoje, mas nada parecia muito promissor e nem tenho certeza se preciso: https://github.com/davidverholen/magento2-teaser/blob/develop/Ui/Component/ Form / Element / TeaserItemImage.php
O DataSource do formulário está aqui: https://github.com/davidverholen/magento2-teaser/blob/develop/Model/TeaserItem/DataProvider.php
(também tentou carregar o image_url aqui e use isso como o índice do campo)
também existe um documento para isso e eu posso ser burra demais para entender como fazer isso: http://devdocs.magento.com/guides/v2.0/ui-components/ui-form.html
Alguma idéia ou alguém que já fez isso?
Thx adiantado!
Atualizar:
Encontrei isso no componente de mídia (usado para imagens): vendor / magento / module-ui / view / base / web / js / form / element / media.js
return Abstract.extend({
defaults: {
links: {
value: ''
}
},
Eu sou novo na coisa toda knockout.js, mas parece que a ligação de valor foi removida. Portanto, deve haver outra maneira de definir o valor?
Eu também tentei definir a ligação novamente na configuração, mas sem sucesso. Tentei isso (adicionou o image_path_abs à fonte de dados que contém o caminho absoluto do arquivo):
<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>
fonte