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_entity
tabella.
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_text
tabella con la mia fabbrica per visualizzarestatus
(Attributo cliente).Ora il mio secondo attributo è
file
type. È 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 Attribute
nella 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 element
non sembra funzionare.
Dai un'occhiata al field
nome che è value
per 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
value
la 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. **