src/CoreBundle/EventListener/DcGeneral/ItemRendererListener.php
public function render(ModelToLabelEvent $event)
    {
        $environment = $event->getEnvironment();
        /** @var IMetaModelDataDefinition $definition */
        $definition = $environment->getDataDefinition();
        /** @var Contao2BackendViewDefinitionInterface $viewSection */
        $viewSection = $definition->getDefinition(Contao2BackendViewDefinitionInterface::NAME);
        $listing     = $viewSection->getListingConfig();

        /** @var Model $model */
        $model = $event->getModel();

        if (!($model instanceof Model)) {
            return;
        }

        $nativeItem = $model->getItem();
        $metaModel  = $nativeItem->getMetaModel();

        $renderSetting = $this->renderSettingFactory
            ->createCollection($metaModel, $definition->getMetaModelDefinition()->getActiveRenderSetting());

        if (!$renderSetting) {
            return;
        }

        $data = array($nativeItem->parseValue('html5', $renderSetting));

        if ($listing->getShowColumns()) {
            $event->setArgs($data[0]['html5']);
            return;
        }

        $template      = new Template($renderSetting->get('template'));
        $renderSetting = self::removeInvariantAttributes($nativeItem, $renderSetting);

        $template->setData(
            array(
                'settings' => $renderSetting,
                'items'    => new Items(array($nativeItem)),
                'view'     => $renderSetting,
                'data'     => $data
            )
        );

        $event->setLabel('%s')->setArgs(array($template->parse('html5')));
    }
public function render(ModelToLabelEvent $event)
    {
        $environment = $event->getEnvironment();
        /** @var IMetaModelDataDefinition $definition */
        $definition = $environment->getDataDefinition();
        /** @var Contao2BackendViewDefinitionInterface $viewSection */
        $viewSection = $definition->getDefinition(Contao2BackendViewDefinitionInterface::NAME);
        $listing     = $viewSection->getListingConfig();

        /** @var Model $model */
        $model = $event->getModel();

        if (!($model instanceof Model)) {
            return;
        }

        $nativeItem = $model->getItem();
        $metaModel  = $nativeItem->getMetaModel();

        $renderSetting = $this->renderSettingFactory
            ->createCollection($metaModel, $definition->getMetaModelDefinition()->getActiveRenderSetting());

        if (!$renderSetting) {
            return;
        }

        $data = array($nativeItem->parseValue('html5', $renderSetting));

        if ($listing->getShowColumns()) {
            $event->setArgs($data[0]['html5']);
            return;
        }

        $template      = new Template($renderSetting->get('template'));
        $renderSetting = self::removeInvariantAttributes($nativeItem, $renderSetting);

        $template->setData(
            array(
                'settings' => $renderSetting,
                'items'    => new Items(array($nativeItem)),
                'view'     => $renderSetting,
                'data'     => $data
            )
        );

        $event->setLabel('%s')->setArgs(array($template->parse('html5')));
    }
public function render ( ModelToLabelEvent $ event ) { $ environment = $ event -> getEnvironment ( ) ; /** @var IMetaModelDataDefinition $definition */ $ definition = $ environment -> getDataDefinition ( ) ; /** @var Contao2BackendViewDefinitionInterface $viewSection */ $ viewSection = $ definition -> getDefinition ( Contao2BackendViewDefinitionInterface :: NAME ) ; $ listing = $ viewSection -> getListingConfig ( ) ; /** @var Model $model */ $ model = $ event -> getModel ( ) ; if ( ! ( $ model instanceof Model ) ) { return ; } $ nativeItem = $ model -> getItem ( ) ; $ metaModel = $ nativeItem -> getMetaModel ( ) ; $ renderSetting = $ this -> renderSettingFactory -> createCollection ( $ metaModel , $ definition -> getMetaModelDefinition ( ) -> getActiveRenderSetting ( ) ) ; if ( ! $ renderSetting ) { return ; } $ data = array ( $ nativeItem -> parseValue ( 'html5' , $ renderSetting ) ) ; if ( $ listing -> getShowColumns ( ) ) { $ event -> setArgs ( $ data [ 0 ] [ 'html5' ] ) ; return ; } $ template = new Template ( $ renderSetting -> get ( 'template' ) ) ; $ renderSetting = self :: removeInvariantAttributes ( $ nativeItem , $ renderSetting ) ; $ template -> setData ( array ( 'settings' => $ renderSetting , 'items' => new Items ( array ( $ nativeItem ) ) , 'view' => $ renderSetting , 'data' => $ data ) ) ; $ event -> setLabel ( '%s' ) -> setArgs ( array ( $ template -> parse ( 'html5' ) ) ) ; }
Render the current item using the specified render setting.

@param ModelToLabelEvent $event The event.

@return void
Render the current item using the specified render setting .