Jump to content
Rosi

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

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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

seems not working in 1.7.6.7

Share this post


Link to post
Share on other sites

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();
    }


}

 

Share this post


Link to post
Share on other sites
19 hours ago, Hart said:

seems not working in 1.7.6.7

Try it with this module

 

  • Thanks 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More