Подстраниц?
Вы строите выделение на tt_content
, поэтому у вас есть все CE на странице 17.
возможно, вы имеете в виду
lib.newsteaser.20.table = pages
Если вы выберетеpages:
Ваше определение маркера обращается к записи страниц текущей страницы (TSFE
), но вам нужен UID записи страниц, которая является вашим текущим контекстом (renderObj
).
Таким образом, правильное определение маркера должно быть:
pageuid.field = uid
в противном случае (выберите tt_content) :
вам необходимо использовать связи с текущей записьюtt_content
:
where = sys_category_record_mm.tablenames='tt_content' AND sys_category_record_mm.uid_foreign = ###recorduid###
markers.recorduid.field = uid
или вы выбираете tt_content из подстраниц (я не знаю, как вы получаете записи из подстраниц, поскольку вы нигде не выбрали подстраницы) и категориисохраняются на страницах)
where = sys_category_record_mm.tablenames='pages' AND sys_category_record_mm.uid_foreign = ###pageuid###
markers.pageuid.field = pid
страница записи tt_content хранится в поле pid
Как TYPO3 хранит свои данные?
TYPO3 хранит свои данные в разных таблицах.Основная таблица pages
для страниц, которые создают сайт.Эти страницы структурированы в виде дерева.не все страницы представляют отдельные веб-страницы.каждая запись в TYPO3 сохраняется на одной странице (назначается записи pages
).Существует одна специальная «страница», которая не является реальной страницей и не имеет записи pages
.Это корень дерева страниц, и его можно идентифицировать с помощью страницы с идентификатором 0. uid
означает «уникальный идентификатор» и является полем в каждой записи данных.для идентификации страницы, назначенной записи, каждая запись данных имеет поле pid
(идентификатор страницы).
Так как pages
записи имеют поле pid
, оно дает древовидную структуру.каждая страница имеет родителя, а корневая страница имеет (псевдо) страницу 0 в качестве родителя.В записи pages
хранится много информации, но обычно нет содержимого.(Вы можете хранить фоновые изображения, визуальные изображения или специальные изображения для предварительного просмотра, а также информацию SEO, такую как описание или реферат, в записи pages
)
Для контента существует таблица tt_content
.Здесь вы храните тексты, (ссылки на) изображения или конфигурацию плагина, которые контролируют, например, отображение других записей.
Для тизеров страниц вы можете быть реализованы в двух видах:
1. Вся информация для тизера хранится в записи pages
2. Вы используете содержимое страницы, то есть: получить информацию о tt_content
записях на этой странице
типичным сценарием, в котором вы используете тизеры, является список новостей: показать заголовок и реферат или вступление с изображением, которое ссылается на подробный вид с полнымtext.
Ваш код напоминает этот сценарий и не имеет ничего общего с меню страниц, представленных тизерами.
Это я бы построил с помощью Typoscript следующим образом:
построить объект меню (возможно special = directory
)
для каждого элемента меню замените ссылку по умолчанию на объект before
, где вы используете другие поля записи current pages
для создания ссылкисостоящий из изображения предварительного просмотра, заголовка страницы, аннотации страницы.
lib.teaserMenu = HMENU
lib.teasermenu {
special = directory
special.value = 123
1 = TMENU
1 {
// remove normal link
doNotShowLink = 1
// build it by myself:
before.cObject = COA
before.cObject {
stdWrap.wrap = <div class="teaser">|</div>
stdWrap.typolink.field = uid
10 = FILES
10 {
:
}
20 = TEXT
20.field = title
20.wrap = <h3>|</h3>
30 = TEXT
30.field = abstract
30.wrap = <p>|</p>
:
}
}