![]() |
Шаблоны + языковые версии
Подскажите, как в зависимости от языковой версии подгружать разные шаблоны?
Сейчас подгружается таким образом: 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. |
Угу, в {} условия не работают. И еще я не заметил чтобы был указан язык по умолчанию (если L=0)
|
Цитата:
|
Дык если по умолчанию урк. язык, то не нужно его запихивать ни в какие условия вообще.
|
Разобрался! Спасибо всем кто пытался помоч.
|
Написали бы как решили проблему, многим бы пригодилось бы
|
А решил таким образом, незнаю насколько это правильно, но работает)).
Вынес в константы: 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} ******************* } |
В константах условия не работают, насколько я помню.
|
Цитата:
|
Цитата:
|
Цитата:
|
Возможно проблема в индексации. Первый язык обычно - "0".
|
Часовой пояс GMT +4, время: 20:42. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot