Bug #87521
Updated by Jarvis H almost 6 years ago
h2. What causes cause the error: In order to ensure correct sorting of gridelements-children in the Menu Section element I used the Typoscript found below. Basically joining tt_content on tt_content will cause an error reading "Column 'l18n_parent' in where clause is ambiguous". <pre> tt_content.menu_section { dataProcessing { 10 { dataProcessing { 20 { # Adjust query params in dataProcessor for correct # sorting of elements inside grids table = tt_content selectFields = tt_content.*, COALESCE(tt2.sorting, tt_content.sorting) AS sort pidInList.field = uid as = content where = tt_content.sectionIndex = 1 leftjoin = tt_content AS tt2 ON tt2.uid = tt_content.tx_gridelements_container orderBy = sort ASC } } } } } </pre> h2. Possible solution: In the class @TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer@ and function @getLanguageRestriction()@ adjusting the following part starting on line 7032: <pre><code class="php"> if ($includeRecordsWithoutDefaultTranslation) { $languageQuery = $expressionBuilder->orX( $languageQuery, $expressionBuilder->andX( $expressionBuilder->eq($localizationParentField, 0), $expressionBuilder->eq($languageField, $languageAspect->getContentId()) ) ); } </code></pre> to this: <pre><code class="php"> if ($includeRecordsWithoutDefaultTranslation) { $languageQuery = $expressionBuilder->orX( $languageQuery, $expressionBuilder->andX( // add $table prefix to $localizationParentField $expressionBuilder->eq($table . '.' . $localizationParentField, 0), $expressionBuilder->eq($languageField, $languageAspect->getContentId()) ) ); } </code></pre> solves the issue for me.