Jump to content

Add group in customers list in Backend, in version Prestashop 1.7


Rosi

Recommended Posts

Hi,

What files in default backened theme I have to modify to show the group which a customer belong to in customers list in backend?

I found a solution for version 1.6 but not for 1.7
Otherwise this is quite an important parameter so I wonder that the list is missing.

Thanks

Link to comment
Share on other sites

override AdminCustomersController.php

1) place in in your module yourmodule/override/controllers/admin/AdminCustomersController.php
with this content:

<?php


class AdminCustomersController  extends AdminCustomersControllerCore

{
    public function renderList()
    {
        $this->fields_list = array_merge($this->fields_list, array(
            'groupname' => array(
                'title' => $this->trans('Group', array(), 'Admin.Global'),
                'maxlength' => 30
            )
        )
        );
        $this->_select .= ', (
        SELECT gl.name FROM ' . _DB_PREFIX_ . 'customer_group g JOIN ' . _DB_PREFIX_ . 'group_lang gl on gl.id_group = g.id_group and gl.id_lang= '. (int) $this->context->language->id .
            ' WHERE g.id_customer =  a.id_customer) as groupname ';

        return parent::renderList();
    }


}

2) install (or reinstall) your module

result customer list:

PS4.PNG.1a43f72d9855ba648cb08c8870a7d135.PNG

Edited by EvaF (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 8 months later...

ok then try

<?php


class AdminCustomersController  extends AdminCustomersControllerCore

{
    public function renderList()
    {
        $this->fields_list = array_merge($this->fields_list, array(
            'groupname' => array(
                'title' => $this->trans('Group', array(), 'Admin.Global'),
                'maxlength' => 30
            )
        )
        );
        $this->_select .= ', (
        SELECT GROUP_CONCAT(gl.name) FROM ' . _DB_PREFIX_ . 'customer_group g JOIN ' . _DB_PREFIX_ . 'group_lang gl on gl.id_group = g.id_group and gl.id_lang= '. (int) $this->context->language->id .
            ' WHERE g.id_customer =  a.id_customer) as groupname ';

        return parent::renderList();
    }


}

 

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

No the higher versions do not use AdminCustomerrController and therefore is neccessary to catch on hooks:

 

actionCustomerGridDefinitionModifier 


( and change definition of columns and filters (append group name)
and

actionCustomerGridQueryBuilderModifier 


 (and change sqlParts (select and join))
by the same principle as above

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...