J'essaie actuellement de creuser plus profondément dans les composants de l'interface utilisateur, mais je suis un peu coincé ici.
Comme ce serait un peu trop de publier tout le code ici, je vais juste poster quelques liens github pertinents.
Ce qui fonctionne, c'est le téléchargement d'une image et l'enregistrement du nom de fichier dans la base de données.
Ce qui ne fonctionne pas, c'est de charger à nouveau le fichier dans l'entrée de fichier sur la page du formulaire d'édition.
L'entrée d'image est définie ici: https://github.com/davidverholen/magento2-teaser/blob/develop/view/adminhtml/ui_component/teaser_item_form.xml#L83
La classe est actuellement vide, j'ai essayé beaucoup de choses aujourd'hui mais rien ne semblait trop prometteur et je ne suis même pas sûr si j'en ai besoin: https://github.com/davidverholen/magento2-teaser/blob/develop/Ui/Component/ Form / Element / TeaserItemImage.php
La source de données du formulaire est ici: https://github.com/davidverholen/magento2-teaser/blob/develop/Model/TeaserItem/DataProvider.php
(également essayé de charger l'image_url ici et de l'utiliser comme index de champ)
il y a aussi un doc pour ça et je suis peut-être trop stupide pour comprendre comment faire: http://devdocs.magento.com/guides/v2.0/ui-components/ui-form.html
Des idées ou quelqu'un qui a déjà fait ça?
Merci d'avance!
Mise à jour:
J'ai trouvé cela dans le composant multimédia (qui est utilisé pour les images): vendeur / magento / module-ui / view / base / web / js / form / element / media.js
return Abstract.extend({
defaults: {
links: {
value: ''
}
},
Je suis nouveau dans le domaine knockout.js, mais cela semble que la liaison de valeur est supprimée. Il doit donc y avoir une autre façon de définir la valeur?
J'ai également essayé de définir à nouveau la liaison dans la configuration, mais sans succès. J'ai essayé (ajouté le chemin_image_abs à la source de données qui contient le chemin absolu du fichier):
<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>
la source