He creado el formulario ui_component .
Donde necesito mostrar los detalles del cliente, igual que Customer Edit .
Pero, puedo mostrar sus datos de la customer_entitytabla.
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;
}
Me uní a la
customer_entity_texttabla con mi Fábrica para mostrarstatus(Atributo del cliente).Ahora mi segundo atributo es
filetipo. Está encustomer_entity_varcharprimer lugar, pensé que agregar otra unión, pero creo que no es la buena manera.
Entonces, ¿hay alguna solución para esto? Necesito mostrar ambos Customer Attributeen mi 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) El componente anterior funciona bien para el estado pero no para la imagen de perfil que es tipo de imagen.
<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>
Incluso si elimino un campo con el mismo nombre form element, no parece ser un trabajo.
Eche un vistazo al fieldnombre que corresponde valuea Estado .
Si utilizo el mismo para la imagen de campo de componente de imagen está desaparecido.
Nota : No tengo idea de por qué Magento no permite usar el nombre como value.
Porque me uní a la colección, así que estoy obteniendo
valuecomo clave de matriz.
** Pregunta: ¿Cómo puedo obtener los atributos del cliente en este formulario sin unirme a la colección?
Además, si tiene otra solución que la mayoría, también será bienvenido. **

Respuestas:
Debe crear su tabla personalizada con la relación de la tabla customer_entity utilizando el script de configuración de la siguiente manera:
Luego debe cargar el modelo del cliente y unirse a su tabla personalizada en la función getData () de DataProvider.php de la siguiente manera:
Ahora puede usar nombres de campo en ui_component de la siguiente manera:
Espero que esta solución pueda resolver su problema.
fuente