HMENU / GMENU визуализируют страницы - PullRequest
0 голосов
/ 29 марта 2020

Я переносу опечатку из TYPO3 6.2 ELTS в 7.x ELTS.

Следующий код работает в 6.2 благодаря activContentAdapter, который удален в TYPO3 7. https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.2/Breaking-66034-DropContentAdapter.html

Можно ли по-прежнему использовать HMENU / GMENU или мне следует переписать его полностью другим способом?

lib.navigation.socialmedia = HMENU
lib.navigation.socialmedia{
wrap = <ul>|</ul>
special = directory
special.value = 123
1 = GMENU
1{
    NO{
        wrap = <li class="first">|</li>|*|<li class="middle">|</li>|*|<li class="last">|</li>
        altImgResource.import = uploads/media/
        altImgResource.import.field = media
        altImgResource.import.listNum = 0
        ATagTitle.field = subtitle // title
    }
}
}

1 Ответ

1 голос
/ 30 марта 2020

вы все еще можете использовать 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 с, и вы бы отобразили меню с текучей средой, в которой вы «перемещаетесь» по дереву страниц со всеми свойствами каждой страницы, включая изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...