TYPO3: Использование констант страницы в HMENU / TMENU

в шаблоне страницы я устанавливаю константу, например

yl.page.backgroundColor = #ff0000

Теперь, есть ли способ получить доступ к BackgroundColor-Value пункта меню, который отображается TMENU? Я думал примерно так:

lib.mainNavigation.1.NO.wrapItemAndSub = <li style="background-color: {$record.yl.page.backgroundColor}">|</li>

Использование только {$yl.page.backgroundColor}, конечно же, отобразит цвет, установленный на текущей странице, а не тот, который я установил в соответствующем пункте меню...

Ссылка на getText, к сожалению, даже не содержит слова «Константа».


person Lukx    schedule 26.10.2011    source источник


Ответы (1)


Я понимаю, что вы пытаетесь сделать, но TypoScript работает иначе. Действительно, данные с текущей страницы используются, когда {$yl.page.backgroundColor}.

Чтобы добиться того, к чему вы стремитесь, вам нужно будет придумать немного грязи. Я бы посоветовал вам сохранить цвет фона в одном из неиспользуемых полей страниц (например, подзаголовок, если вы его не используете). В противном случае вы, конечно, также можете добавить поле в таблицу страниц и использовать его вместо этого.

Следующим шагом является загрузка цвета фона (в моем случае в поле «субтитры») в оболочку примерно следующим образом.

lib.mainNavigation.1.NO.wrapItemAndSub.dataWrap = <li style="background-color: {field:subtitle}">|</li>
person Sebs    schedule 26.10.2011
comment
Это действительно возможно, я попробовал аналогичный способ (определив свое пользовательское поле в TCA). Но я переключаюсь на константы из-за его собственного поведения наследования. Я хотел бы, чтобы цвет фона наследовался... И я действительно не хочу иметь избыточно как поле, так и константу... - person Lukx; 26.10.2011
comment
Единственный способ сделать это с помощью констант — создать отдельный PHP-скрипт, который отображает весь шаблон указанной страницы. Если вы хотите использовать возможность скольжения, внутри TypoScript есть что-то подобное. Однако вам нужно будет использовать поле базы данных. data = levelfield:-1,субтитры,слайд - person Sebs; 27.10.2011