Как удалить колонку в Datagrid через Listner в OroCRM

Решение для удаления колонок из Datagreed если нет доступа к файлу конфигурации «datagrid.yml».

Добавил листнер в Resources/config/services.yml, вместо datagrid-name впишите имя грида:

parameters:  
    my_bundle_name.datagrid_column_listner.class: My\Bundle\Name\EventListener\DatagridColumnListener
...
services:  
    medikly_segment.fields_config_grid.after.listener:
         class: %my_bundle_name.datagrid_column_listner.class:%
         tags:
            - { name: kernel.event_listener, event: oro_datagrid.datagrid.build.after.datagrid-name, method: datagridRemove }

Добавил сам листнер в EventListener/DatagridColumnListener.php:

<?php

namespace Medikly\Bundle\SegmentExtensionBundle\EventListener;

use Oro\Bundle\DataGridBundle\Event\BuildAfter;

/**
 * Class DatagridColumnListener
 * @package Medikly\Bundle\SegmentExtensionBundle\EventListener
 */
class DatagridColumnListener  
{
    /**
     * @var
     */
    protected $config;

    /**
     * @param $name
     */
    protected function removeColumn($name) {
        if ($this->config->offsetGetByPath("[columns][{$name}]"))
            $this->config->offsetUnsetByPath("[columns][{$name}]");

        return;
    }

    /**
     * @param $name
     */
    protected function removeSort($name) {
        if ($this->config->offsetGetByPath("[sorters][columns][{$name}]"))
            $this->config->offsetUnsetByPath("[sorters][columns][{$name}]");

        return;
    }

    /**
     * @param $name
     */
    protected function removeFilter($name) {
        if ($this->config->offsetGetByPath("[filters][columns][{$name}]"))
            $this->config->offsetUnsetByPath("[filters][columns][{$name}]");

        return;
    }

    /**
     * @param $name
     */
    protected function remove($name) {
        $this->removeColumn($name);
        $this->removeSort($name);
        $this->removeFilter($name);

        return;
    }

    /**
     * @param BuildAfter $event
     */
    public function datagridRemove(BuildAfter $event)
    {
        $this->config = $event->getDatagrid()->getConfig();

        $this->remove('name');
        $this->remove('name_one');
        $this->remove('name_two');

        return;
    }
}