ОПЕЧАТКА3:Как мне вставить содержимое страницы в шаблон
-
23-08-2019 - |
Вопрос
У меня есть некоторый контент, который я хочу разместить на нескольких страницах моего сайта TYPO3.Я мог бы просто вставить это в шаблон, но я также хочу, чтобы этот контент был доступен для редактирования в редакторе расширенного текста.
Итак, у меня возникла идея создать скрытую страницу, но я не знаю, как вставить это содержимое в шаблон.
Требует ли это select
машинописное заявление?
Также, в качестве последующего вопроса, могу ли я добавить что-нибудь, чтобы сказать, включать только страницы, на которых есть это идентификатор страницы как их непосредственный родитель в иерархии страниц.
Решение
Я не совсем понял второй вопрос.Если вы хотите включить какую-то запись только на страницы под какой-то другой страницей, то это, очевидно, сработает:
[PIDinRootline = pages-uid, pages-uid, ...]
temp.foo = RECORDS
temp.foo {
tables = tt_content
source = ID # Enter the object's ID here
}
[end]
С другой стороны, если вы хотите включить все записи со страниц, являющихся дочерними элементами какой-либо другой страницы, то попробуйте что-то вроде:
1 = CONTENT
1.table = tt_content
1.select {
pidInList = parent-uid
}
Хотя не знаю, правильно ли я тебя понял.Дмитрий.
Другие советы
От Включите элементы контента typo3 на каждой странице:
temp.foo = RECORDS
temp.foo {
tables = tt_content
source = ID # Enter the object's ID here
}
Обратите внимание, что идентификатор - это идентификатор записи содержимого, а не идентификатор страницы.
Но это не отвечает на вопрос о том, как включать страницы / записи только с определенным родителем.
Вы можете настроить скрытую страницу, а затем "импортировать" элементы содержимого на данной странице с помощью typoscript на страницах (или во всем дереве страниц ниже) по мере необходимости."Хитрость" заключается в том, чтобы использовать Кольпос с помощью инструкции select-оператор.С помощью этого вы даже можете поместить несколько (разных) элементов контента на одну (скрытую) страницу, которые отображаются на разных страницах (в зависимости от настройки столбца, в котором они находятся "in".
Пример:
- Создайте скрытую (или системную) страницу (здесь пример-pageid = $PID_STATIC)
- Создайте элемент содержимого на этой странице (текст)
- Отредактируйте этот элемент содержимого, чтобы он отображался в правом столбце (right равно colPos= 2).
- Поместите следующий машинописный текст в шаблон, в котором вы хотите, чтобы отображался элемент содержимого.Вы можете установить pid (pageId) в константах через PID_STATIC или "жестко закодировать" его в typoscript.
.
lib.aditionalcontent = COA
lib.aditionalcontent {
10 = CONTENT
10 {
table = tt_content
select.where = colPos = 2
select.orderBy = sorting
select.pidInList = {$PID_STATIC}
}
- Добавьте элемент библиотека.дополнительный контент в ваш шаблон, где должно быть показано содержимое.Например:
.
page.10 = TEMPLATE
page.10.template = FILE
page.10.template.file = fileadmin/maintemplate.htm
page.10.workOnSubpart = DOCUMENT_BODY
page.10.marks.ADITIONAL_CONTENT < lib.aditionalcontent
.
Следите за тем, чтобы вы устанавливали colPos в соответствии со столбцом, в который вы установили элемент содержимого, иначе он просто не будет отображаться.
Вы можете использовать разные столбцы для этого для разного контента, который должен отображаться / не должен отображаться на определенной странице.
Это также работает с системными папками и не скрытыми страницами.
Если вы используете TemplaVoila, это также должно сработать, хотя вам нужно переключиться на listview, чтобы увидеть и установить столбец для элемента content (если он не скрыт для этого пользователя, не являющегося администратором).
Чтобы узнать, какой номер colPos находится в какой позиции столбца, перейдите в phpMyAdmin и найдите поле "colPos" в tt_контент таблица.