Agregue una columna personalizada para mostrar el valor de la función agregada en la lista de renderizado usando PrestaShop 8.0

En este blog, aprenderemos cómo podemos mostrar el valor de la función agregada en la lista de renderizado en el controlador moderno Prestashop Admin basado en Symfony.

Primero que nada, debemos entender la función agregada:

Una función agregada en SQL realiza un cálculo sobre múltiples valores y devuelve un valor único. SQL proporciona muchas funciones agregadas que incluyen promedio, recuento, suma, mínimo, máximo, etc.

En este blog, tomaremos un ejemplo de la función de recuento agregado.

Con el nuevo PrestaShop, las cosas se manejan de manera diferente y lo explicaremos en detalle y explicaremos un proceso de integración con la ayuda de un ejemplo en vivo de «adminProductController».

En este ejemplo, mostraremos el recuento de imágenes del producto en el listado agregando una nueva columna. Empecemos.

Paso 1:-

Registre el gancho actionAdminProductsListingFieldsModifier en su módulo.

$this->registerHook('actionAdminProductsListingFieldsModifier');

Ahora necesitamos crear una función relacionada según el flujo de PrestaShop para actuar.

public function hookActionAdminProductsListingFieldsModifier($list)
{

    if (isset($list['sql_select'])) {
        $list['sql_select']['id_image'] = array(
            "table" => "pi",
            "field" => "id_image",
            "filtering" => "  %s "
        );
        $list['sql_select']['image_count'] = array(
            'select' => 'COUNT(pi.id_image)',
            'filtering' => " %s "
        );
    }
    if (isset($list['sql_table'])) {
        $list['sql_table']['pi'] = array(
            "table" => "image",
            "join" => "LEFT JOIN",
            "on" => "pi.`id_product` = p.`id_product`"
        );

        $list['sql_group_by'][] = 'p.id_product';
    }
}

Paso 2:-

Necesitamos anular estos dos archivos que se enumeran a continuación en el módulo personalizado. Aquí está la ruta del archivo.

En el siguiente archivo, hemos agregado una columna de encabezado llamada «Recuento de imágenes».

Camino: ROOT_DIR/modules/YOUR_MODULE_NAME/views/PrestaShop/Admin/Product/CatalogPage/Lists/products_table.html.twig

<th scope="col" class="text-center" style="width: 9%">  
    {{ "Image count"|trans({}, 'Admin.Global') }}
</th>

En el siguiente archivo, hemos agregado un valor de columna.

Camino: ROOT_DIR/modules/YOUR_MODULE_NAME/views/PrestaShop/Admin/Product/CatalogPage/Lists/list.html.twig

<td class="text-center">
    {% if product.id_image is defined %}
        {% if product.id_image != '' %}
                <span class="">{{ product.image_count }}</span>
        {% else %}
        -
        {%endif%}
    {% else %}
    -
    {%endif%}
</td>
Valor_de_listado

Después de agregar el código, obtendrá el resultado en la lista de productos de administración y podrá ver el recuento de imágenes en la columna.

Listado

Puede ver que el producto contiene la misma cantidad de imágenes al revisar el interior del producto.

Recuento de imágenes

Eso es todo sobre este blog.

Si tiene algún problema o duda en el proceso anterior, no dude en contactarnos a través de la sección de comentarios.

Me gustaría ayudar.

Además, puede explorar nuestros Servicios de desarrollo PrestaShop y una amplia gama de módulos PrestaShop de calidad.

Para cualquier duda contacta con nosotros en [email protected]


Source link

About David Lopez

Informático y experto en redes. Redactor en varios blogs tecnológicos desde hace 4 años y ahora en Steamachine.net

Check Also

La tendencia definida por software para dispositivos integrados

El panorama de los dispositivos IoT se está transformando, marcado por una evolución fundamental hacia …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *