Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Вывести title страницы формата "Страница | Название сайта" (http://forum.typo3.ru/showthread.php?t=10004)

Ивано 23.03.2012 20:27

Вывести title страницы формата "Страница | Название сайта"
 
Добрый день.

Не получается сделать <title> для страницы такого формата, который очень хочется с наличием символа разделителя " | "...

Вот он:
<title>НАЗВАНИЕ СТРАНИЦЫ | НАЗВАНИЕ САЙТА<title>

Где название страницы берется либо tilte либо subtitle, в зависимости от того, что заполнено.

Проблема в том, что все получается, как я описываю...
Но wrap вырезает пробелы и получается следующее:
<title>НАЗВАНИЕ СТРАНИЦЫ| НАЗВАНИЕ САЙТА<title>

Т.е. пробадает пробел после НАЗВАНИЯ СТРАНИЦЫ и следующим знаком Разделения " | "

Использовать вместо обычного пробела nbsp; не очень хочется - всетаки TITLE страницы.

Valery Romanchev 23.03.2012 22:01

есть такое - noTrimWrap




##########################
# Default Inhalte #
##########################
lib.domain = TEXT
lib.domain.value =
lib.title = TEXT
lib.title.data = field:abstract // leveltitle :-1,slide
lib.title.stripHtml = 1

lib.metadescription = TEXT
lib.metadescription.data = levelfield :-1, description, slide // levelfield :-1, subtitle, slide // leveltitle :-1,slide
lib.keywords = TEXT
lib.keywords.data = levelfield :-1, keywords, slide // levelfield :-1, subtitle, slide // leveltitle :-1,slide
lib.author = TEXT
lib.author.data = levelfield :-1, author, slide
lib.copyright = TEXT
#lib.copyright.data = levelfield: 0, author
lib.copyright.value = {$copyright}
lib.robots = TEXT
lib.robots.value = index, follow


#[globalVar = GP:tx_ttnews|tt_news > 0]
# lib.title.data = register:title
# lib.metadescription.data = register:description
# lib.keywords.data = register:keywords
#[end]


#########################
# Title #################
#########################
lib.meta.title1 =< lib.title
lib.meta.title1 {
prepend = TEXT
# prepend.value = {$title_begin}
prepend.required = 1
prepend.noTrimWrap = || |

# append = TEXT
# append.value = {$title_end}
# append.required = 1
# append.noTrimWrap = | - ||
# outerWrap = <title>|</title>

append = COA
append.10 = TEXT
# append.10.value = {$title_end}
append.10.required = 1
append.10.noTrimWrap = | ||

}


lib.meta.title = COA
lib.meta.title{
wrap = <title>|</title>

10 = TEXT
10 < lib.meta.title1
10.if.isFalse.field = subtitle

20 = TEXT
20.data = field:subtitle
20.if.isTrue.field = subtitle

}







##########################
# Meta ###################
##########################
lib.meta.description =< lib.metadescription
lib.meta.description {
required = 1
outerWrap = <meta name="description" content="|" />
}
lib.meta.keywords =< lib.keywords
lib.meta.keywords {
required = 1
outerWrap = <meta name="keywords" content="|" />
}
lib.meta.author =< lib.author
lib.meta.author {
required = 1
outerWrap = <meta name="author" content="|" />
}
lib.meat.copyright =< lib.copyright
lib.meta.copyright {
required = 1
outerWrap = <meta name="copyright" content="|" />
}
lib.meat.robots =< lib.robots
lib.meta.robots {
required = 1
outerWrap = <meta name="robots" content="|" />
}

##########################
# DC-Meta ################
##########################
lib.meta.dc.title =< lib.title
lib.meta.dc.title {
required = 1
outerWrap = <meta name="DC.Title" content="|" />
}
lib.meta.dc.description =< lib.description
lib.meta.dc.description {
required = 1
outerWrap = <meta name="DC.Description" content="|" />
}
lib.meta.dc.subject =< lib.keywords
lib.meta.dc.subject {
required = 1
outerWrap = <meta name="DC.Subject" content="|" />
}
lib.meta.dc.creator =< lib.author
lib.meta.dc.creator {
required = 1
outerWrap = <meta name="DC.Creator" content="|" />
}
lib.meat.dc.right =< lib.copyright
lib.meta.dc.rights {
required = 1
outerWrap = <meta name="DC.Rights" content="|" />
}


##########################
# emptyLine #########
##########################
lib.emptyLine = TEXT
lib.emptyLine.value (

)




##########################
# Anleitung: #############
##########################
# So wird anschließend ein Meta umdefiniert:
#lib.description.override = Eine neue Beschreibung
#lib.author.override = Author2


# So hängt man was an ein Meta hinten dran
#lib.keywords.append = TEXT
#lib.keywords.append.value = , hinten1, hinten2, hinten3

# So hängt man was an ein Meta vorne dran
#lib.keywords.prepend = TEXT
#lib.keywords.prepend.value = vorne1, vorne2, vorne3, vorne4,

# So wird eine Domain an den Seitentitel drangehängt
#lib.domain.override = MyPage.de

###########################
# Installation: ###########
###########################
# Damit die Meta's auch hirarchisch abgefragt werden können
# im Installations-Tool bei 'addRootLineFields' mit eintragen:
# subtitle,keywords,description,author
# => diese Felder können abgefragt werden mit
# lib.keywords = TEXT
# lib.keywords.data = levelfield :-1, keywords, slide
# bzw.:
# lib.title.data = leveltitle : -1, slide

#########################
# Orginal ausschalten ###
#########################
config.noPageTitle = 1


###########################
# Header zusammenbauen ####
###########################
page.headerData.1 = COA
page.headerData.1 {
5 =< lib.emptyLine
10 =< lib.meta.title
15 =< lib.emptyLine
20 =< lib.meta.description
25 =< lib.emptyLine
30 =< lib.meta.keywords
35 =< lib.emptyLine
# 40 =< lib.meta.author
# 45 =< lib.emptyLine
# 50 =< lib.meta.copyright
# 55 =< lib.emptyLine
60 =< lib.meta.robots
65 =< lib.emptyLine
# 70 =< lib.meta.dc.title
# 75 =< lib.emptyLine
# 80 =< lib.meta.dc.description
# 85 =< lib.emptyLine
# 90 =< lib.meta.dc.subject
# 95 =< lib.emptyLine
# 100 =< lib.meta.dc.creator
# 105 =< lib.emptyLine
# 110 =< lib.meta.dc.rights
# 115 =< lib.emptyLine

# 120 = TEXT
# 120.value = <meta name='yandex-verification' content='68154d1c3882dccb' />

}

Ивано 23.03.2012 22:26

Спасибо, за ответ. В общем, пока нашел такое решение - может выглядит не очень компактно - но работает!
А главное без nbsp;

Код:

### Настройки TITLE

# Выключаем формирование по умолчанию
config.noPageTitle = 2

# Создаем новый page header text объект


# Используем сначала запись из подзаголовка (subtitle);
# если пусто, тогда из заголовка title
# page.headerData.10.field = subtitle

page.headerData.10 = TEXT
page.headerData.10.field = subtitle // title
page.headerData.10.wrap = <title> |

page.headerData.20 = TEXT
page.headerData.20.noTrimWrap = | |

page.headerData.30 = TEXT
page.headerData.30.value = | Название сайта </title>



Часовой пояс GMT +4, время: 11:59.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot