Как я могу автоматически вставить название текущей страницы в шаблон 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/

Ответ 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}.