Просмотр полной версии : Шаблоны + языковые версии
Подскажите, как в зависимости от языковой версии подгружать разные шаблоны?
Сейчас подгружается таким образом:
content = FILE
content.file = fileadmin/templates/page.html
Заранее спасибо!
примерно так:
content = FILE
content.file = fileadmin/templates/default.html
[globalVar = GP:L = 1]
content.file = fileadmin/templates/other_lang.html
[end]
Странно, но не работает(возможно из за того ссылка переобразуется в
http://test.com/about+M5d637b1e38d.html, а не
http://test.com//index.php?id=11&L=2
).
И еще вопрос. Конструкция вида:
[globalVar = GP:L = 2]
********
[end] указывает какой параметр должен использоватся в текущей языковой версии(я правильно понимаю)?
Отключите на время simulateStatic.
Если у вас многоязычный сайт, конструкция вида [globalVar = GP:L = x] должна быть вам знакома, т.к. эти конструкции переключают язык сайта в зависимости от GET-переменных. Таким же образом, вместе с переключением языка сайта, можно изменять и какие-либо параметры, относящиеся к конкретной языковой версии.
Я как раз и занимаюсь добавлением еще одного языка к сайту,а разрабатывала другая контора. И с typo3 столкнулся впервые. Многое в структуре самого сайта непонятно. Но спасибо! Буду пробовать!
Прописываю таким образом:
content = FILE
[globalVar = GP:L = 2]
content.file = fileadmin/templates/page.html
[globalVar = GP:L = 1]
content.file = fileadmin/templates/page_ua.html
но подхватывается только последний обьявленный. В чем может быть проблема?
Не забывайте ставить после условий [end] или [global]
Когда добавляю [end] подхватывается последний обьявленный, а когда [global] страница вобще неотображается.
Возможно я неправильно обьявляю языки ?
config.linkVars = L
config.renderCharset = windows-1251
config.metaCharset = windows-1251
config.notification_email_charset = windows-1251
config.notification_email_encoding = quoted-printable
config.locale_all = uk_UA.CP1251
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = ua
[end]
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = eng
[end]
1) Не eng, а en
2) А какой у вас дефолтный язык?
дефолтный - украинский. а изменение eng на en непомогло.
На форуме уже было описание по языкам ведь
Разве [end] нужен после каждого блока условия? вроде же только в самом конце?
Ссылку по языкам находил, да я уже все перепробовал и так и так, крутил вертел, всеравно шаблоны неподхватывает ((.
Приведите полностью весь код тогда:)
----Конфигурация-----
lib.stdheader.10.stdWrap.wrap = |
lib.stdheader.5.date = d.m.Y
config {
#no_cache = 1
#pageTitleFirst = 1
#baseURL = 1
baseURL =http://test.com/
#tx_realurl_enable = 1
prefixLocalAnchors = all
#xhtml_cleaning = all
admPanel = 1
##
#doctype = xhtml_trans
#doctypeSwitch = 1
xmlprologue = none
#spamProtectEmailAddresses = -3
spamProtectEmailAddresses = -2
spamProtectEmailAddresses_atSubst = (at)
#spamProtectEmailAddresses_atSubst = <img src="fileadmin/templates/images/sign_at.gif" border="0" width="8" height="10" alt="" />
jumpurl_enable = 1
jumpurl_mailto_disable = 1
noScaleUp = 1
##
simulateStaticDocuments = 1
##simulateStaticDocuments_addTitle = 22
simulateStaticDocuments_noTypeIfNoTitle = 1
simulateStaticDocuments_pEnc = md5
##simulateStaticDocuments_pEnc_onlyP = tx_ttnews[backPid]
simulateStaticDocuments_pEnc_onlyP = no_cache, cmd, L, id, cHash, print, tx_ttnews[tt_news], tx_ttnews[pS], tx_ttnews[pL], tx_ttnews[arc], tx_ttnews[cat], tx_ttnews[pointer], tx_ttnews[swords], tx_newloginbox_pi3[showUid]
##
и т.д*******************
notification_email_urlmode = all
disablePrefixCommen = 1
##
index_enable = 1
index_externals = 1
index_descrLgd = 200
##
stat = 1
stat_apache = 1
stat_apache_logfile = stat.log
stat_excludeBEuserHits = 1
#stat_excludeIPList =
}
----Языки-----
config.linkVars = L
config.renderCharset = windows-1251
config.metaCharset = windows-1251
config.notification_email_charset = windows-1251
##config.notification_email_encoding = 8bit
config.notification_email_encoding = quoted-printable
config.locale_all = uk_UA.CP1251
# Задается язык - украинский
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = ua#
# Setting up the language variable "L" to be passed along with links
#Russian language, sys_language.uid = 1
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
[global]
config.message_page_is_being_generated = {$message_page_is_being_generated}
# Конфигурирование Анализатора(Configuring the Auto-Parser) для основного шаблона:
plugin.tx_automaketemplate_pi1 {
# Прочесть файл шаблона:
content = FILE
[globalVar = GP:L = 1]
content.file = fileadmin/templates/page_ua.html
[globalVar = GP:L = 2]
content.file = fileadmin/templates/page.html
[end]
# Здесь мы определим какие элементы HTML
# будут вставлены в комментарии-подчасти (subpart-comments):
elements {
BODY.all = 1
BODY.all.subpartMarker = DOCUMENT_BODY
HEAD.all = 1
HEAD.all.subpartMarker = DOCUMENT_HEADER
HEAD.rmTagSections = title,script
HEAD.rmSingleTags = link
TABLE.all = 1
TD.all = 1
}
}
Ну во первых я не уверен можно ли, но как минимум непонятно нафига использовать 2 блока с [globalVar = GP:L = ххх], во вторых опять же возможно неправильный формат идет там где шаблон проходит ли условие в {}, по моему когда-то обсуждалось нечто подобное.
Посему вынеси блок условия из блока:
# Прочесть файл шаблона:
plugin.tx_automaketemplate_pi1.content = FILE
[globalVar = GP:L = 1]
plugin.tx_automaketemplate_pi1.content.file = fileadmin/templates/page_ua.html
[globalVar = GP:L = 2]
plugin.tx_automaketemplate_pi1.content.file = fileadmin/templates/page.html
[global]
plugin.tx_automaketemplate_pi1 {
...
}
Еще я не совсем понимаю зачем это все, неужели там настолько принципиально разные шаблоны? Как я делаю - обычно "места с переводами" (логотип, какие-то фразы) мапится и в TypoScript обрабатывается.
Я же говорю, что разработкой не я занимался(с typo3 вобще первый раз стокнулся) и сейчас сам сижу, голову ломаю что куда идет и зачем все это надо((.
Попробовал вынести блок- шаблон вобще непотхватывается. А можно поподробнее по поводу мап и обработки в TypoScript.
Dutchak Vitaly
16.07.2007, 13:22
Угу, в {} условия не работают. И еще я не заметил чтобы был указан язык по умолчанию (если L=0)
Угу, в {} условия не работают.
А когда выношу за пределы {} вобще неработает. Язык по умолчанию настроен укр. L=1
Дык если по умолчанию урк. язык, то не нужно его запихивать ни в какие условия вообще.
Разобрался! Спасибо всем кто пытался помоч.
Dutchak Vitaly
17.07.2007, 12:37
Написали бы как решили проблему, многим бы пригодилось бы
А решил таким образом, незнаю насколько это правильно, но работает)).
Вынес в константы:
tpl = fileadmin/templates/page.html
[globalVar = GP:L = 2]
tpl = fileadmin/templates/page_eng.html
[end]
А потом подключил переменную:
plugin.tx_automaketemplate_pi1 {
# Прочесть файл шаблона:
content = FILE
content.file = {$tpl}
*******************
}
В константах условия не работают, насколько я помню.
Valery Romanchev
17.07.2007, 15:20
В константах условия не работают, насколько я помню.
у меня нормально работали
В константах условия не работают, насколько я помню.
Но у меня же работает.
Pavel Antonov
17.07.2007, 16:02
В константах условия не работают, насколько я помню.
Работают... парсер один и тот же.
Возможно проблема в индексации. Первый язык обычно - "0".
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot