src/CoreBundle/EventListener/DcGeneral/Table/FilterSetting/AttributeListener.php
public function getOptions(GetPropertyOptionsEvent $event)
    {
        if (('tl_metamodel_filtersetting' !== $event->getEnvironment()->getDataDefinition()->getName())
            || ('attr_id' !== $event->getPropertyName())) {
            return;
        }

        $result      = [];
        $model       = $event->getModel();
        $metaModel   = $this->filterFactory->createCollection($model->getProperty('fid'))->getMetaModel();
        $typeFactory = $this->filterFactory->getTypeFactory($model->getProperty('type'));

        $typeFilter = null;
        if ($typeFactory) {
            $typeFilter = $typeFactory->getKnownAttributeTypes();
        }

        foreach ($metaModel->getAttributes() as $attribute) {
            $typeName = $attribute->get('type');

            if ($typeFilter && (!in_array($typeName, $typeFilter))) {
                continue;
            }

            $strSelectVal          = $metaModel->getTableName() .'_' . $attribute->getColName();
            $result[$strSelectVal] = $attribute->getName() . ' [' . $typeName . ']';
        }

        $event->setOptions($result);
    }
public function getOptions(GetPropertyOptionsEvent $event)
    {
        if (('tl_metamodel_filtersetting' !== $event->getEnvironment()->getDataDefinition()->getName())
            || ('attr_id' !== $event->getPropertyName())) {
            return;
        }

        $result      = [];
        $model       = $event->getModel();
        $metaModel   = $this->filterFactory->createCollection($model->getProperty('fid'))->getMetaModel();
        $typeFactory = $this->filterFactory->getTypeFactory($model->getProperty('type'));

        $typeFilter = null;
        if ($typeFactory) {
            $typeFilter = $typeFactory->getKnownAttributeTypes();
        }

        foreach ($metaModel->getAttributes() as $attribute) {
            $typeName = $attribute->get('type');

            if ($typeFilter && (!in_array($typeName, $typeFilter))) {
                continue;
            }

            $strSelectVal          = $metaModel->getTableName() .'_' . $attribute->getColName();
            $result[$strSelectVal] = $attribute->getName() . ' [' . $typeName . ']';
        }

        $event->setOptions($result);
    }
public function getOptions ( GetPropertyOptionsEvent $ event ) { if ( ( 'tl_metamodel_filtersetting' !== $ event -> getEnvironment ( ) -> getDataDefinition ( ) -> getName ( ) ) || ( 'attr_id' !== $ event -> getPropertyName ( ) ) ) { return ; } $ result = [ ] ; $ model = $ event -> getModel ( ) ; $ metaModel = $ this -> filterFactory -> createCollection ( $ model -> getProperty ( 'fid' ) ) -> getMetaModel ( ) ; $ typeFactory = $ this -> filterFactory -> getTypeFactory ( $ model -> getProperty ( 'type' ) ) ; $ typeFilter = null ; if ( $ typeFactory ) { $ typeFilter = $ typeFactory -> getKnownAttributeTypes ( ) ; } foreach ( $ metaModel -> getAttributes ( ) as $ attribute ) { $ typeName = $ attribute -> get ( 'type' ) ; if ( $ typeFilter && ( ! in_array ( $ typeName , $ typeFilter ) ) ) { continue ; } $ strSelectVal = $ metaModel -> getTableName ( ) . '_' . $ attribute -> getColName ( ) ; $ result [ $ strSelectVal ] = $ attribute -> getName ( ) . ' [' . $ typeName . ']' ; } $ event -> setOptions ( $ result ) ; }
Provide options for default selection.

@param GetPropertyOptionsEvent $event The event.

@return void
Provide options for default selection .