Вопрос

Я пытаюсь добавить раздел в свое расширение Liquidpage.

<f:section name="Configuration">
    <flux:flexform id="default" label="Gallery Page" icon="{f:uri.resource(path: 'Icons/DefaultPage.png')}">
        <flux:flexform.section name="images">
            <flux:flexform.field.file name="ls" label="Landscape image" maxItems="1" minItems="1" required="1" showThumbnails="1" />
            <flux:flexform.field.select name="lsAlign" label="Alignment of the landscape image" items="left,right" />
            <flux:flexform.field.file name="pt" label="Portrait image" maxItems="1" minItems="1" required="1" showThumbnails="1" />
            <flux:flexform.field.select name="ptAlign" label="Alignment of the portrait image" items="left,right" />
        </flux:flexform.section>

        <flux:flexform.grid>
            <flux:flexform.grid.row>
                <flux:flexform.grid.column colPos="0" name="Main Content" />
            </flux:flexform.grid.row>

            <flux:flexform.grid.row>
                <flux:flexform.grid.column colPos="1" name="Gallery Images" />
            </flux:flexform.grid.row>
        </flux:flexform.grid>
    </flux:flexform>
</f:section>

Если я попробую это сделать, серверная часть останется пустой, если я попытаюсь открыть свойства верхней страницы.Как только удаляю раздел все в порядке.Также попробовал поместить felexform.object вокруг полей внутри раздела.

<flux:flexform.section name="images" label="images">
            <flux:flexform.object name="imageObject" label="image object">
                <flux:flexform.field.file name="ls" label="Landscape image" maxItems="1" minItems="0" required="0"
                                          showThumbnails="1"/>
                <flux:flexform.field.select name="lsAlign" label="Alignment of the landscape image"
                                            items="left,right"/>
                <flux:flexform.field.file name="pt" label="Portrait image" maxItems="1" minItems="0" required="0"
                                          showThumbnails="1"/>
                <flux:flexform.field.select name="ptAlign" label="Alignment of the portrait image"
                                            items="left,right"/>
            </flux:flexform.object>
        </flux:flexform.section>

тоже не повезло.

Маркус

Это было полезно?

Решение

Если вы сейчас просматриваете TYPO3 6.2 (текущая основная ветка, еще не выпущенная на момент написания статьи), то вполне возможно, что вы столкнулись с этой ошибкой: http://forge.typo3.org/issues/56405

Если вы используете TYPO3 6.1, эта функция должна работать, и на вас не должна повлиять ошибка, описанная в ссылке выше.В оставшейся части ответа я буду предполагать, что вы используете версию 6.1 или что рассматриваемая ошибка каким-то образом исправлена ​​в вашем локальном репозитории, например, путем проверки запроса на слияние, ссылка на который указана в этом URL-адресе.

Вам немного непонятно, какой "раздел" удалить для восстановления бэкэнда - если это тот f:section названный Configuration вы удаляете, это приведет к fluidpages игнорировать шаблон.Если это flux:flexform.section вы удаляете, чтобы заставить его работать, может быть несколько причин сбоя:

  • Использование ссылок на файлы внутри Objects в формах Flux (Примечание:тот Object требуется, вы не можете размещать поля непосредственно внутри Flux. Section) может оказать неблагоприятное воздействие на системы с FAL.TCA, используемый FAL, легко становится несовместимым с полями гибкой формы (поля Flux по-прежнему выглядят как поля гибкой формы в TYPO3), что может привести к возникновению ошибок.
  • С использованием Section и Object в fluidpages шаблон имеет одно ограничение:объекты, которые вы сохраняете, не могут быть унаследованы на подстраницах из-за того, как TYPO3 в настоящее время обрабатывает значения по умолчанию.Возможно, будущие версии Flux смогут каким-то образом решить эту проблему, но в настоящее время это ограничение, которое вам придется обойти.

Если у вас возникла какая-либо из первых возможных проблем, об ошибках будет сообщено и помещено либо в ваш devlog (см. devlog расширение), в вашем syslog (как настроено в инструменте установки TYPO3) или в вашем журнале ошибок PHP (как настроено вашим веб-сервером или настройками PHP).Если вы не знаете, как проверять эти журналы, вы можете прочитать то же сообщение, включив «режим отладки» в конфигурации расширения Flux (внутри Extension Manager).Установка этого значения на «2» должна гарантировать, что вы увидите только ошибки, а не общие сообщения обратной связи.Сообщение об ошибке может помочь вам решить проблему — или вы можете добавить его к этому вопросу, и я учту его при редактировании.

Наконец, если вы этого ожидаете Section и Object если вы будете унаследованы на подстраницы, вы столкнетесь с блокировщиком — в настоящее время это просто невозможно.А Object должен быть доступен для использования на той же странице, на которой он определен, но не может быть доступен на подстраницах (по крайней мере, без обходных путей, например, с использованием данных Flux, получающих ViewHelper, и разрешения UID страницы вручную).

Если вас заблокировали таким образом, я предлагаю вместо этого:

  • Создайте системную папку или повторно используйте системную папку общего хранилища.
  • Вставьте элемент содержимого в эту системную папку и сделайте этот элемент содержимого FCE, содержащим Object ты желаешь.
  • Используя поля конфигурации шаблона страницы, укажите ссылку на этот элемент контента (например, relation введите, чтобы tt_content или поле ввода с помощью мастера просмотра).
  • В выходных данных шаблона страницы вручную визуализируйте этот конкретный элемент контента по UID, используя v:content.render и аргумент contentElementUids="{0: myFieldName}" где myFieldName — это имя поля конфигурации вашей страницы.Обратите внимание, что список UID представляет собой массив!

Альтернатива:

  • Добавьте специальный столбец содержимого страницы
  • Настройте рендеринг этого столбца с помощью slide установить на v:content.render - например, со значением -3 чтобы переместить столбец специального содержимого верхней страницы на первые три уровня подстраниц.

Надеюсь, это поможет Маркусу — если нет, не стесняйтесь добавлять более точную информацию о желаемой реализации.

Другие советы

Раздел должен содержать объект, который содержит поля:

<flux:flexform.section name="images" label="images">
    <flux:flexform.object name="foo2" label="foo2">
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top