Hola @inmaiberia65, @ignacio_es tiene toda la razón. El problema principal es que estás intentando seleccionar una columna (loyalty_points) que no existe en la tabla ps_customer. En PrestaShop 1.7.2.3, para gestionar datos adicionales como los puntos de fidelidad, lo más robusto es usar una tabla separada y luego unirla a la tabla de clientes en tu controlador personalizado.
Aquí te muestro cómo podrías modificar tu controlador AdminCustomerPointsController.php para unir una tabla hipotética ps_customer_loyalty (que deberías crear manualmente o mediante un módulo) que contenga los puntos de cada cliente. Esta tabla necesitaría al menos un id_customer y una columna para los puntos (por ejemplo, points).
class AdminCustomerPointsControllerCore extends AdminController
{
public function __construct()
{
$this->bootstrap = true;
$this->table = 'customer';
$this->className = 'Customer';
$this->lang = false;
$this->addRowAction('edit');
$this->addRowAction('delete');
Con este cambio, el controlador intentará seleccionar los puntos de la tabla ps_customer_loyalty usando un LEFT JOIN. IFNULL se usa para asegurar que los clientes sin entrada en la tabla de puntos muestren 0. Sin embargo, esto es solo una parte de la solución. Para una gestión completa (añadir/quitar puntos, reglas de acumulación, etc.) y una integración más robusta que sea compatible con futuras actualizaciones de PrestaShop, te sugiero un módulo dedicado. Para una automatización de puntos de fidelidad – te recomiendo echar un vistazo a soluciones profesionales que ya tienen toda la lógica y la interfaz de usuario implementadas.