Ошибка «Flux не удалось извлечь определение Flux» в логической строке жидкости после перехода с жидкого содержимого на поток 9.2.0 и композитора TYPO3 с 8,7 до 9,5 - PullRequest
0 голосов
/ 09 октября 2019

Проблема

Я composer обновлен с TYPO3 8.7 до TYPO3 9.5, удален с fluidcontent и перенесен на flux. Вот мои дополнительные версии ...

  • flux 9.2.0
  • fluidpages 5.0.0
  • vhs 5.2.0
  • fluidbootstraptheme (с использованием последней версии и исправил ряд ошибок локально, поскольку он не поддерживается сейчас)

Теперь я получаю эту ошибку ...

Flux не удалось извлечьопределение потока из "/home/username/public_html/typo3conf/ext/fluidbootstraptheme/Resources/Private/Templates/Content/NavigationList.html". Убедитесь, что файл существует и содержит необходимую форму потока: в настроенном разделе «Конфигурация»

Раздел Код: Конфигурация в NavigationList.html

    <f:section name="Configuration">
        <flux:form id="navigationlist" options="{group: 'Navigation', sorting: '50', icon: '{f:uri.resource(path: \'Icons/Content/NavigationList.png\')}'}">
            <flux:form.sheet name="display">
                <flux:field.checkbox name="addWell"/>
                <flux:field.checkbox name="zeroPadding"/>
                <flux:field.input name="class"/>
            </flux:form.sheet>
            <flux:form.sheet name="items">
                <flux:form.section name="items">
                    <flux:form.object name="header">
                        <flux:field.input name="text"/>
                        <flux:field.input name="class"/>
                    </flux:form.object>
                    <flux:form.object name="item">
                        <flux:field.input name="text"/>
                        <flux:field.input name="tooltip"/>
                        <flux:field.input name="icon" eval="trim">
                            <flux:wizard.link activeTab="file"/>
                        </flux:field.input>
                        <flux:field.input name="target">
                            <flux:wizard.link activeTab="page"/>
                        </flux:field.input>
                        <flux:field.input name="class"/>
                    </flux:form.object>
                    <flux:form.object name="divider">
                        <flux:field.input name="class"/>
                    </flux:form.object>
                </flux:form.section>
            </flux:form.sheet>
        </flux:form>
    </f:section>

Что я имеюуже сделано

  • Я вручную запустил все обновления БД для миграции с fluidcontent на flux /12071361/migratsiya-bazy-dannyh-typo3-s-flyidsoderzhaschego-na-flys...
  • Я рассмотрел эту проблему https://github.com/FluidTYPO3/flux/issues/1542
  • Я запустил инструмент обновления flux в инструменте установки TYPO3, и содержимое снова появилось в бэкэнде в соответствующих столбцах
  • Я сделал TYPO3 8.7 установку на основе composer и затем обновил через composer до TYPO3 9.5 и теперь получаю ошибку, упомянутую выше
  • Я пытался найти ответы в Google, StackOverflow и Slack, но не пошел

ПОМОЩЬчто не так с разделом конфигурации кода выше ??

1 Ответ

0 голосов
/ 10 октября 2019

Вот комментарий, который я получил от Клауса Дуэя (основного разработчика Flux) о TYPO3 Slack в канале Flux ...

Ошибка [Flux не смог извлечь определение Flux ...]обычно означает, что сам файл шаблона не может быть проанализирован правильно (может быть в другом месте, кроме раздела Configuration). Возможно, вы сможете увидеть более конкретную ошибку, если создадите специальный объект опечатки FLUIDTEMPLATE для визуализации этого файла.

Хотя это не поможет вам сегодня, это конкретное сообщение об ошибке будет удалено в следующемверсия Flux и "реальная" ошибка будет пропущена.

Установка вашего "контекста" TYPO3 в значение Development должна привести к тому, что любые ошибки синтаксического анализа Fluid (например, неверный аргумент и т. д.) будут выдаваться как исключения, когда Flux пытаетсяанализируем шаблон.

Итак, в ответ на это я установил TYPO3_CONTEXT='Development' в своем .env и тогда смог увидеть гораздо более значимые ошибки. Оказалось, что мне нужно было сделать эти две вещи, хотя, конечно, это может отличаться в чьем-то конкретном случае, когда проблема возникает из-за какого-то другого расширения.

  1. Обновление устаревшего оператора жидкости <f:case default="true">, используемого вfluidbootstraptheme до <f:defaultCase>
  2. flux:grid.column требует colPos, и в некоторых случаях он отсутствовал в fluidboostraptheme расширении
...