Ich habe ein ui_component- Formular erstellt.
Wo ich Kundendaten anzeigen muss, Entspricht der Kundenbearbeitung .
Aber ich kann ihre Daten aus der customer_entityTabelle anzeigen.
DataProvider.php
public function getData()
{
if (isset($this->loadedData)) {
return $this->loadedData;
}
// {Vendor}\{Module}\Model\GridFactory
// Returns Customer Resource Model
$items = $this->gridFactory->create()->getCollection();
$items->getSelect()->join('customer_entity_text as second', 'main_table.entity_id = second.entity_id');
//print_r($items->getData()); exit;
foreach($items as $contact){
$this->loadedData[$contact->getEntityId()]['contact'] = $contact->getData();
}
return $this->loadedData;
}
Ich habe
customer_entity_textTabelle mit meiner Fabrik verbunden, um anzuzeigenstatus(Kundenattribut).Jetzt lautet das Attribut "Mein zweites" "
fileTyp". Es ist incustomer_entity_varchar, Erstens dachte ich, dass ein weiterer Join hinzugefügt werden soll, aber ich denke, es ist nicht der richtige Weg.
Gibt es dafür eine Lösung? Ich muss beide Customer Attributein meinem Formular anzeigen .
ui_component
<field name="value">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string">Status</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="dataType" xsi:type="string">text</item>
<item name="formElement" xsi:type="string">input</item>
<item name="source" xsi:type="string">contact</item>
</item>
</argument>
</field>
1). Die obige Komponente funktioniert für den Status , nicht jedoch für das Profilbild mit dem Image-Typ.
<field name="value">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="label" xsi:type="string">Profile Image</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="formElement" xsi:type="string">fileUploader</item>
<item name="uploaderConfig" xsi:type="array">
<item name="url" xsi:type="url" path="path_controller"/>
</item>
</item>
</argument>
</field>
Selbst wenn ich ein Feld mit demselben Namen entferne, form elementscheint es nicht zu funktionieren.
Schauen Sie sich den fieldNamen an, der valuefür Status steht .
Wenn ich dasselbe für das Bildfeld benutze, ist die Bildkomponente verschwunden.
Hinweis : Ich habe keine Ahnung, warum Magento die Verwendung des Namens als nicht zulässt value.
Weil ich mich der Sammlung angeschlossen habe, erhalte ich
valueals Array-Schlüssel.
** Frage: Wie kann ich Kundenattribute in diesem Formular erhalten, ohne der Sammlung beizutreten?
Auch wenn Sie eine andere Lösung als die meisten haben, sind Sie herzlich willkommen. **