вы все еще можете использовать GMENU
, но вам нужно изменить обработку файлов. Как уже упоминалось, файлы больше не просто копируются в uploads/media/
, но есть дескриптор файла (sys_file
запись), чей uid используется везде.
Первая замена: treatIdAsReference
Это - это использование для отрисовки значка первой медиа-записи в текстовом меню (TMENUITEM
) перед текстом (1) .
Рендеринг находится внутри объекта FILES
, который представляет (возможный) массив. Так что может быть немного сложнее вставить его в IMGRESOURCE
объект (2) .
, если вы просто хотите, чтобы ресурс адаптировал renderObj
, так как в этом примере отображается изображение (обрезано) и генерирует тег <img>
.
NO.stdWrap.prepend = FILES
NO.stdWrap.prepend {
references {
table = pages
uid.data = current:originalUid // current:uid
fieldName = media
}
renderObj = IMAGE
renderObj {
file {
import.data = file:current:uid
treatIdAsReference = 1
width = 150c
height = 150c
}
altText.data = file:current:alternative
titleText.data = file:current:title
params = class="menu-img"
stdWrap.typolink.parameter.field = uid
}
maxItems = 1
}
(1) с параметрами CSS3 и HTML5 и предпочтительным способом обеспечения доступности, у вас есть несколько способов: используйте чистое текстовое меню без «скрытия» текста в графике.
(2) вы можете использовать altImgResource.cObject = FILES
и визуализировать IMGRESOURCE
вместо IMAGE
.
между тем (начиная с TYPO3 9) у вас есть menu_processor
с, и вы бы отобразили меню с текучей средой, в которой вы «перемещаетесь» по дереву страниц со всеми свойствами каждой страницы, включая изображения.