Это шаблон, который я хочу использовать с TYPO3: http://www.shegy.nazwa.pl/themeforest/hype/ios/solid/
Я хочу дать пользователю возможность добавлять или удалять разделы, как вы видите на скриншотах, сколько захотите. Моя первая идея решить эту проблему – создать элементы контента.
Я думаю, для этого недостаточно tt_content. Было бы необходимо создать собственную таблицу для каждой секции. Есть ли другой способ?
Было бы очень полезно дать пользователю возможность добавлять эллементы контента внутри «элемента содержимого раздела». Это возможно? Вложенные элементы контента? Таким образом, пользователь может добавить третьи функции на второй скриншот.
Вы можете создать это с помощью Gridelements. Проверьте эту ссылку https://typo3.org/extensions/repository/view/gridelements
СОЗДАНИЕ ГРИДЭЛЕМА:
НАЗНАЧЕНИЕ ГРИДЕЛЬМА НА СТРАНИЦУ:
Перейдите на страницу, где вы хотите поместить раздел gridelement
СОЗДАНИЕ ШАБЛОНА ДЛЯ ГРИДЛЕМА:
Откройте файл шаблона typoscript и добавьте синтаксис для каждого gridelement.
# typoscript.ts tt_content.gridelements_pi1.20.10.setup{ # 1 is the gridelement id 1 < lib.gridelements.defaultGridSetup 1{ columns{ # 0 is the column id 0 < .default 0.wrap( <div class="column-div">|</div> ) } } }
ШАБЛОНЫ ЖИДКОСТИ
# typoscript.ts tt_content.gridelements_pi1.20.10.setup { 1 < lib.gridelements.defaultGridSetup 1{ cObject = FLUIDTEMPLATE cObject { file = gridtemplate.html #here source of fluid template } } }
Создание html-шаблона для нашего gridelement:
<!-- gridtemplate.html --> <div class="{data.flexform_yourfield}"> <!-- data.tx_gridelements_view_column_{column id} --> {data.tx_gridelements_view_column_1->f:format.raw()} </div>
ДИНАМИЧЕСКАЯ НАСТРОЙКА С ФЛЕКСФОРМОМ:
Мы возвращаемся к бэкэнд со списком в sysfolder grideslements, выбираем gridelement и переходим на вкладку конфигурации и в файле конфигурации Flexform – field – добавляем ваш файл flexform.
Над конфигурационным файлом Flexform вы увидите конфигурацию Flexform -textarea, мое предложение – создать конфигурацию flexform в файле, а не напрямую заполнить брандмаутер typo3.
ПРИМЕР КОНФИГУРАЦИИ FLEXFORM:
<!-- flexform.xml --> <?xml version="1.0" encoding="UTF-8"?> <T3DataStructure> <ROOT type="array"> <type>array</type> <el type="array"> <yourfield> <TCEforms type="array"> <label>Label of your input</label> <config> <type>input</type> </config> </TCEforms> </yourfield> </el> </ROOT> </T3DataStructure>
Перейдите в раздел кода gridtemplate.html и посмотрите, как flexform обрабатывается в файле шаблона.
И это все для grideslements.