Получить заголовок, nav_title и подзаголовок

Я хочу распечатать поля title, nav_title и subtitle с помощью Typoscript. Я видел, что есть несколько возможностей. Например. data, field, levelfield, leveltitle, ...

В настоящее время я использую этот код (поскольку единственный, который работает для меня до сих пор):

lib.heading = TEXT
lib.heading.dataWrap = <p class="title"> {leveltitle:0} </p>

но я хочу что-то с такими альтернативами

stdWrap.field = subtitle // nav_title // title

Каков правильный способ получения этих полей?

Редактировать:

[userFunc = user_isMobile]

page.headerData.10 = TEXT
page.headerData.10.value (
    // ...
)

// ...

lib.heading = TEXT
#lib.heading.dataWrap = <p class="title"> {leveltitle:0} </p>

lib.heading {
  field = title 
  wrap = <p class="title"> | </p>
}

lib.subpages = HMENU
lib.subpages {
  // ...
}

[global]

Сама функция пользователя — это функция в php-скрипте (user_mobile.php). Он выполняет обнаружение пользовательского агента для мобильных устройств и возвращает true или false.


person testing    schedule 20.11.2012    source источник


Ответы (1)


field получит значения из текущих данных, которые в вашем контексте являются данными текущей страницы.

lib.heading = TEXT
lib.heading {
  field = subtitle // nav_title // title
  wrap = <p class="title">|</p>
}

leveltitle, leveluid, levelmedia и т. д. позволяют получить часть данных с других страниц в корневой линии текущей страницы.

Для получения дополнительной информации см. getText в документация.

person tmt    schedule 20.11.2012
comment
Когда я использую этот код, вывод пуст <p class="title"></p>. - person testing; 20.11.2012
comment
Попробуйте field = subtitle // title, это всего 2 поля. Есть ли разница? - person tmt; 20.11.2012
comment
Нет, это не имеет никакого значения. Этот код работал у меня только при создании меню. - person testing; 21.11.2012
comment
1. Убедитесь, что этот код не находится внутри какого-то другого кода. 2. Убедитесь, что вы не пропускаете | из <p class="title">|</p>. - person tmt; 21.11.2012
comment
Он находится в состоянии userFunc, но условие выполнено, потому что с {leveltitle:0} я получаю результаты. Также труба в пленке: lib.heading = TEXT lib.heading { field = title wrap = <p class="title"> | </p> } - person testing; 21.11.2012
comment
Можете пояснить, что дело в userFuns? Дело в том, что leveltitle и подобные им являются особенными и могут использоваться в любом контексте. С другой стороны, для field данные изменяются в зависимости от контекста. Если можете, опубликуйте больший фрагмент кода TypoScript, чтобы увидеть, где вы пытаетесь это использовать. - person tmt; 21.11.2012
comment
Я отредактировал свой вопрос, но на самом деле здесь не так много информации. Скажи мне, если тебе что-то нужно. - person testing; 21.11.2012
comment
Я не думаю, что условие может иметь какое-либо влияние на это, но просто чтобы быть уверенным, пытались ли вы вывести код из условия? - person tmt; 21.11.2012
comment
Сейчас попробовал без условия - результат тот же. - person testing; 22.11.2012
comment
Последнее, что приходит мне в голову, это использовать Шаблон -> Анализатор шаблонов для проверки возможных проблем с кодом. - person tmt; 22.11.2012
comment
Теперь я использовал {page:sub_title}, и он дает мне информацию, которую я хотел. Но это не идеально, потому что у меня часто два раза один и тот же заголовок (это ошибка дизайна). Хотя ваш код все еще не работает, и анализатор шаблонов не показал мне ошибку. - person testing; 01.12.2012