FluidTYPO3\Flux\View\PreviewView::drawGridColumn PHP Method

drawGridColumn() protected method

protected drawGridColumn ( array $row, FluidTYPO3\Flux\Form\Container\Column $column ) : string
$row array
$column FluidTYPO3\Flux\Form\Container\Column
return string
    protected function drawGridColumn(array $row, Column $column)
    {
        $colPosFluxContent = ContentService::COLPOS_FLUXCONTENT;
        $columnName = $column->getName();
        $dblist = $this->getInitializedPageLayoutView($row);
        $this->configurePageLayoutViewForLanguageMode($dblist);
        $records = $this->getRecords($dblist, $row, $columnName);
        $content = '';
        foreach ($records as $record) {
            $content .= $this->drawRecord($row, $column, $record, $dblist);
        }
        // Add localize buttons for flux container elements
        if (isset($row['l18n_parent']) && 0 < $row['l18n_parent']) {
            if (TRUE === empty($dblist->defLangBinding)) {
                $partialOriginalRecord = array('uid' => $row['l18n_parent'], 'pid' => $row['pid']);
                $childrenInDefaultLanguage = $this->getRecords($dblist, $partialOriginalRecord, $columnName);
                $childrenUids = array();
                foreach ($childrenInDefaultLanguage as $child) {
                    $childrenUids[] = $child['uid'];
                }
                $langPointer = $row['sys_language_uid'];
                $localizeButton = $dblist->newLanguageButton($dblist->getNonTranslatedTTcontentUids($childrenUids, $dblist->id, $langPointer), $langPointer);
                $content .= $localizeButton;
            }
        }
        $id = 'colpos-' . $colPosFluxContent . '-page-' . $row['pid'] . '--top-' . $row['uid'] . '-' . $columnName;
        $target = $this->registerTargetContentAreaInSession($row['uid'], $columnName);
        return $this->parseGridColumnTemplate($row, $column, $colPosFluxContent, $dblist, $target, $id, $content);
    }