protected function renderCTypeShortcut(PageLayoutView $parentObject, &$row)
    {
        $shortcutContent = '';
        if ($row['records']) {
            $shortcutItems = explode(',', $row['records']);
            $collectedItems = [];
            foreach ($shortcutItems as $shortcutItem) {
                $shortcutItem = trim($shortcutItem);
                if (strpos($shortcutItem, 'pages_') !== false) {
                    $this->collectContentDataFromPages(
                        $shortcutItem,
                        $collectedItems,
                        $row['recursive'],
                        $row['uid'],
                        $row['sys_language_uid']
                    );
                } else {
                    if (strpos($shortcutItem, '_') === false || strpos($shortcutItem, 'tt_content_') !== false) {
                        $this->collectContentData(
                            $shortcutItem,
                            $collectedItems,
                            $row['uid'],
                            $row['sys_language_uid']
                        );
                    }
                }
            }
            if (!empty($collectedItems)) {
                foreach ($collectedItems as $item) {
                    if ($item) {
                        $className = $item['tx_gridelements_reference_container'] ? 'reference container_reference' : 'reference';
                        $shortcutContent .= '<div class="' . $className . '">';
                        $shortcutContent .= $this->renderSingleElementHTML($parentObject, $item);
                        // NOTE: this is the end tag for <div class="t3-page-ce-body">
                        // because of bad (historic) conception, starting tag has to be placed inside tt_content_drawHeader()
                        $shortcutContent .= '<div class="reference-overlay"></div></div></div>';
                    }
                }
            }
        }

        return $shortcutContent;
    }
protected function renderCTypeShortcut(PageLayoutView $parentObject, &$row)
    {
        $shortcutContent = '';
        if ($row['records']) {
            $shortcutItems = explode(',', $row['records']);
            $collectedItems = [];
            foreach ($shortcutItems as $shortcutItem) {
                $shortcutItem = trim($shortcutItem);
                if (strpos($shortcutItem, 'pages_') !== false) {
                    $this->collectContentDataFromPages(
                        $shortcutItem,
                        $collectedItems,
                        $row['recursive'],
                        $row['uid'],
                        $row['sys_language_uid']
                    );
                } else {
                    if (strpos($shortcutItem, '_') === false || strpos($shortcutItem, 'tt_content_') !== false) {
                        $this->collectContentData(
                            $shortcutItem,
                            $collectedItems,
                            $row['uid'],
                            $row['sys_language_uid']
                        );
                    }
                }
            }
            if (!empty($collectedItems)) {
                foreach ($collectedItems as $item) {
                    if ($item) {
                        $className = $item['tx_gridelements_reference_container'] ? 'reference container_reference' : 'reference';
                        $shortcutContent .= '<div class="' . $className . '">';
                        $shortcutContent .= $this->renderSingleElementHTML($parentObject, $item);
                        // NOTE: this is the end tag for <div class="t3-page-ce-body">
                        // because of bad (historic) conception, starting tag has to be placed inside tt_content_drawHeader()
                        $shortcutContent .= '<div class="reference-overlay"></div></div></div>';
                    }
                }
            }
        }

        return $shortcutContent;
    }
protected function renderCTypeShortcut ( PageLayoutView $ parentObject , & $ row ) { $ shortcutContent = '' ; if ( $ row [ 'records' ] ) { $ shortcutItems = explode ( ',' , $ row [ 'records' ] ) ; $ collectedItems = [ ] ; foreach ( $ shortcutItems as $ shortcutItem ) { $ shortcutItem = trim ( $ shortcutItem ) ; if ( strpos ( $ shortcutItem , 'pages_' ) !== false ) { $ this -> collectContentDataFromPages ( $ shortcutItem , $ collectedItems , $ row [ 'recursive' ] , $ row [ 'uid' ] , $ row [ 'sys_language_uid' ] ) ; } else { if ( strpos ( $ shortcutItem , '_' ) === false || strpos ( $ shortcutItem , 'tt_content_' ) !== false ) { $ this -> collectContentData ( $ shortcutItem , $ collectedItems , $ row [ 'uid' ] , $ row [ 'sys_language_uid' ] ) ; } } } if ( ! empty ( $ collectedItems ) ) { foreach ( $ collectedItems as $ item ) { if ( $ item ) { $ className = $ item [ 'tx_gridelements_reference_container' ] ? 'reference container_reference' : 'reference' ; $ shortcutContent .= '<div class="' . $ className . '">' ; $ shortcutContent .= $ this -> renderSingleElementHTML ( $ parentObject , $ item ) ; // NOTE: this is the end tag for <div class="t3-page-ce-body"> // because of bad (historic) conception, starting tag has to be placed inside tt_content_drawHeader() $ shortcutContent .= '<div class="reference-overlay"></div></div></div>' ; } } } } return $ shortcutContent ; }
renders the HTML output for elements of the CType shortcut

@param PageLayoutView $parentObject : The parent object that triggered this hook
@param array $row : The current data row for this item

@return string $shortcutContent: The HTML output for elements of the CType shortcut
renders the HTML output for elements of the CType shortcut