¿Cómo puedo enviar una identificación de mi formulario a una cuadrícula de listado de inserción?
Lo que quiero hacer es, en mi forma, cargar una cuadrícula con insertar listado.
En esta cuadrícula quiero todos los resultados con id del formulario.
<insertListing name="insertlisting_colors_one">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="autoRender" xsi:type="boolean">true</item>
<item name="imports" xsi:type="array">
<item name="spd_id" xsi:type="string">${ $.provider }:data.spd_id</item>
</item>
<item name="ns" xsi:type="string">colors_one_grid</item>
</item>
</argument>
</insertListing>
A continuación se muestra el código en la cuadrícula
<item name="filter_url_params" xsi:type="array">
<item name="color_amount" xsi:type="string">1</item>
<item name="spd_id" xsi:type="string">${ $.parentName }.spd_id</item>
</item>
magento2
uicomponent
Johan
fuente
fuente
Respuestas:
Para agregar un listado de inserción por parámetro del componente ui principal, podemos usar el siguiente código.
Aquí la
externalProvider
etiqueta es para agregar el proveedor de origen de la lista que estamos insertando.Aquí la
imports
etiqueta se usa para importar parámetros del origen de datos del formulario actualAquí, la
exports
etiqueta se utiliza para exportar los parámetros de datos del formulario actual a la lista que se va a insertar.Agregue unir con la columna relevante a la colección actual para que se use en el filtro del proveedor de datos de la lista insertada.
En el proveedor de datos, agregue el filtro para este parámetro:
fuente
Debe establecer un valor para el parámetro render_url en insertListing y luego actualizar esta URL dentro de su proveedor de datos. Es necesario realizar esta acción dos veces ya que necesitará tener un Proveedor de datos para su componente de formulario y otro específico para el componente de listado.
1 - Declaración correcta del componente insertListing: (Vendor / Module / view / adminhtml / ui_component / vendor_module_form.xml)
2 - Agregue los siguientes cambios al proveedor de datos de la página del formulario. Esto cambiará el render_url agregando el parámetro "id" al final de la URL:
(Proveedor / Módulo / Ui / DataProvider / [path-to-your-data-provider.php] )
Nota: no copie / pegue todo el bloque a continuación en su proveedor de datos. En cambio, selecciona las piezas que faltan en tu código
3 - Actualice su componente de listado. Debe tener un parámetro updateUrl dentro del componente DataSource:
(Proveedor / Módulo / vista / adminhtml / ui_component / vendor_module_listing.xml)
4 - Actualice su proveedor de datos de listado para cambiar updateUrl en el componente de listado anterior
(Proveedor / Módulo / Ui / DataProvider / [ruta-a-su-LISTING-data-provider.php] )
Nota: no copie / pegue todo el bloque a continuación en su proveedor de datos. En cambio, selecciona las piezas que faltan en tu código
Avísame si aún tienes algún problema. Es posible que no pueda responder a los comentarios, pero puedo actualizar mi respuesta.
fuente