Ho creato il modulo ui_component .
Dove devo mostrare i dettagli del cliente, lo stesso di Modifica cliente .
Ma posso mostrare i loro dati dalla customer_entitytabella.
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;
}
Ho aderito alla
customer_entity_texttabella con la mia fabbrica per visualizzarestatus(Attributo cliente).Ora il mio secondo attributo è
filetype. È dentrocustomer_entity_varchar, in primo luogo ho pensato che aggiungere un altro join, ma penso che non sia il modo giusto.
Quindi, c'è qualche soluzione per questo? Devo visualizzare entrambi Customer Attributenella mia forma.
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). Il componente sopra funziona bene per lo stato ma non per l' immagine del profilo che è di tipo Immagine.
<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>
Anche se rimuovo un campo con lo stesso nome form elementnon sembra funzionare.
Dai un'occhiata al fieldnome che è valueper Status .
Se uso la stessa cosa per l'immagine di campo di componente dell'immagine è scomparso.
Nota : non ho idea del perché Magento non permetta di usare il nome come value.
Perché mi sono unito alla raccolta, quindi ricevo
valuela chiave dell'array.
** Domanda: come posso ottenere gli attributi del cliente in questo modulo senza partecipare alla raccolta?
Anche se hai altre soluzioni oltre alla maggior parte anche benvenute. **