Как я могу автоматически вставить название текущей страницы в шаблон TYPO3?
на самом деле название - это весь вопрос.
Я просто хочу изменить шаблон так, чтобы текущий заголовок страницы был автоматически показан (я работаю с html-шаблонами, поэтому мне просто нужен бит typoscript, чтобы получить название страницы из базы данных)
Я надеюсь, что возможно
Ответы
Ответ 1
Это. Это довольно просто сделать. Я предполагаю, что вы используете TemplaVoila, потому что, если вы этого не сделаете, вы должны быть:-D
Начните с размещения HTML-кода в шаблоне с фиктивным заголовком страницы. Дайте ему атрибут идентификатора, чтобы он легко отображался. Как:
<h1 id="page-title">Page Title Here</h1>
Затем перейдите в TemplaVoila и сопоставьте элемент <h1>
с типом контента "Path Object Object". Когда он запрашивает путь к объекту, вы можете вставить все, что хотите - соглашение заключается в том, что динамический контент добавляется в пространство имен "lib", поэтому позвоните ему lib.pagetitle. (Опустите этот период в конце.) Когда он спросит вас, хотите ли вы сопоставить это с "INNER" или "OUTER", выберите "INNER" - это будет означать, что вы просто отображаете пробел МЕЖДУ <h1>...</h1>
теги. ( "OUTER" означает, что вы заменяете весь элемент, включая теги, которые мы не хотим здесь, потому что хотим, чтобы это осталось H1.) Сохраните сопоставление шаблонов.
Теперь зайдите в свой шаблон TypoScript вашего сайта. Здесь вы введете логику, которая заполняет пространство, которое мы просто сопоставили с фактическим контентом. Чтобы вставить заголовок страницы, это вопрос нескольких строк TypoScript:
lib.pagetitle = TEXT
lib.pagetitle.data = page : title
В этом выражении говорится: "Возьмите пробел в шаблоне, который я сопоставил с lib.pagetitle. Создайте объект содержимого в этом пространстве типа TEXT, а затем заполните этот объект содержимого заголовком страницы".
Сохраните шаблон TypoScript. Теперь все готово!
Это, вероятно, кажется сложным на первый взгляд, и это так, но приятная вещь об этой системе заключается в том, что она удивительно гибкая. Вставка текста динамически - это только начало. У TSRef есть все подробности - найдите "getText", чтобы получить аромат, что функция, которая заставляет вызов "page: title" в вашем шаблоне TypoScript зайти в заголовок страницы.
TSRef - ваш друг. Я держу распечатанную копию на моем столе - если вы хотите, чтобы TYPO3 поет, это ваш песенник.
Ответ 2
Вы можете использовать текущий заголовок страницы, следуя инструкциям:
lib.pagetitle = TEXT
lib.pagetitle.data = page : title
а затем используйте этот объект на своей странице с помощью typoscriptObjectPath следующим образом:
<f:cObject typoscriptObjectPath="lib.pagetitle"/>
Ответ 3
lib.pagetitle = RECORDS
lib.pagetitle {
source.data = page:uid
tables = pages
conf.pages = TEXT
conf.pages.field = nav_title
}
Чтобы получить текущий заголовок страницы:
lib.pagetitle = TEXT
lib.pagetitle.field=title
Для метаданных:
Очень важно разместить метатег после заголовка, когда мы пройдем через мобильный совместимый веб-сайт.
Чтобы предотвратить режим quirks в IE9, мне нужно добавить эти строки вверху каждой страницы HTML:
Вы можете написать весь заголовок самостоятельно, добавив disableAllHeaderCode = 1 к вашему typoscript, или вы можете взломать его, добавив свой метатег непосредственно в тег заголовка:
page.headTag = <head><meta http-equiv="X-UA-Compatible" content="IE=edge" />
Поместите это в свой опечаток
meta.X-UA-Compatible = IE=edge,chrome=1
httpEquivalent: (Начиная с TYPO3 4.7) Если установлено значение 1, атрибут http-equiv используется в метатеге вместо атрибута "name". По умолчанию: 0.
Для получения дополнительной информации о материалах TYPO3 вы можете посетить мой блог
https://jainishsenjaliya.wordpress.com/2013/10/10/put-meta-tag-on-top-of-header-section-in-typo3/
Ответ 4
Я предпочитаю решение vhs:
{v:page.info(field:'title')}
https://fluidtypo3.org/viewhelpers/vhs/master/Page/InfoViewHelper.html
Ответ 5
Если вы хотите использовать только решение с жидкостью, установите расширение VHS, и вы можете выводить заголовок страницы, не используя никакого типографика вообще, как это:
Пример тега:
<v:page.header.title title="NULL" whitespaceString="' '" setIndexedDocTitle="1">
<!-- tag content - may be ignored! -->
</v:page.header.title>
Пример строки:
{v:page.header.title(title: 'NULL', whitespaceString: '' '', setIndexedDocTitle: 1)}
Ответ 6
lib.page_title= CONTENT
lib.page_title {
table = pages
select {
where = uid = 2
}
renderObj = COA
renderObj {
10 = TEXT
10 {
field = title
wrap = <h1 class="page_title">|</h1>
}
20 = TEXT
20 {
field = subtitle
stdWrap.required = 1
stdWrap.wrap = <h5>|</h5>
}
}
}
вызовите lib.page_title, где хотите отобразить typoscript с этими строками
<f:cObject typoscriptObjectPath='lib.page_title' />
Надеюсь, это поможет!!!
Ответ 7
Если вы хотите использовать это в жидком шаблоне страницы, вы также можете просто использовать {data. title}
для доступа к заголовку страницы.
Ответ 8
Да, если вы используете жидкость, вы можете получить доступ ко всем свойствам страницы {data}.