Просмотр полной версии : Не правильное название месяца в текущей локали.
semender
17.04.2011, 17:20
В архивах tt_news не правильно отображается имя месяца.Не смог найти откуда формируется имена этих месяцев,видимо они не в utf 8.
archiveTitleCObject = COA
  archiveTitleCObject {
    10 = TEXT
    10 {
       field = start
       strftime = %B %Y
       wrap =
     }
  }
Работает strftime, но возвращает неправильно.В какую сторону копать подскажите пожалуйста???
Прописал в htacces AddDefaultCharset UTF-8,пересохранил locallang.xml в UTF8, не помогло.
в TS :
config.metaCharset = utf-8
config.renderCharset = utf-8
config.language = ru
config.locale_all = ru_RU
config.htmlTag_langKey = ru-RU
config.xmlprologue = none
config.xhtml_cleaning = all.
Valery Romanchev
17.04.2011, 18:18
temp_archiveTitleCObject = COA
temp_archiveTitleCObject {
# normal state
    10 = COA
    10 {
        10= CASE
        10 {
                key.field = start
                    key.strftime = %m
               01 = TEXT
             01.value = Январь
             02 = TEXT
             02.value = Февраль
             03 = TEXT
             03.value = Март
             04 = TEXT
             04.value = Апрель
             05 = TEXT
             05.value = Май
             06 = TEXT
             06.value = Июнь
             07 = TEXT
             07.value = Июль
             08 = TEXT
             08.value = Август
             09 = TEXT
             09.value = Сентябрь
             10 = TEXT
             10.value = Октябрь
             11 = TEXT
             11.value = Ноябрь
             12 = TEXT
             12.value = Декабрь    
        }
        11 = TEXT
        11 {
            field = stop
            strftime = %Y
            wrap = |
        }
        if {
            value.field = start
            value.strftime = %m
            equals.data = GPvar:tx_ttnews|month
            isTrue =1 
            isTrue.if {
              value.field = stop
              value.strftime = %Y
                equals.data = GPvar:tx_ttnews|year
                        }
            negate = 1
        }
      
    }
# active state     
  20 <.10
  20 {
#  wrap = <strong>|</strong>
    if.negate >
  }
}
[globalVar = TSFE:id = 8]
includeLibs.newsAmenuUserFunc = fileadmin/templates/tt_news_amenu.php
plugin.tt_news {
  newsAmenuUserFunc = user_processAmenu
  reverseAMenu = 0
  emptyArchListAtStart =0
  archiveTitleCObject < temp_archiveTitleCObject
  archiveTitleCObject.10.11 >
    archiveTitleCObject.20.11 >
    
    archiveTitleCObject {
      10 {
            10 {
                 01.value = янв
                 02.value = фев
                 03.value = мар
                 04.value = апр
                     05.value = май
                 06.value = июн
                 07.value = июл
                 08.value = авг
                     09.value = сен
                     10.value = окт
                 11.value = ноя
                 12.value = дек    
            }
            }
        
    }
    archiveTitleCObject.20.10 < .archiveTitleCObject.10.10 
}
[else]
includeLibs.newsAmenuUserFunc >
plugin.tt_news {
    reverseAMenu = 1
    archiveMode = month
    archiveTitleCObject >
    archiveTitleCObject < temp_archiveTitleCObject
    archiveActiveMarkerContent = class="active"
} 
[global]
plugin.tt_news.amenuStart = -20 years
# per-year archive genegation end ----------
semender
17.04.2011, 18:34
Решил проблему временно вот так.Думаю найдётся ответ.
plugin.tt_news.archiveTitleCObject > 
plugin.tt_news.archiveTitleCObject = COA 
plugin.tt_news.archiveTitleCObject { 
    10 = TEXT 
    10 { 
        field = start 
        strftime > 
        cObject = COA 
        cObject.10 = CASE 
        cObject.10 { 
            key.field = start 
            key.strftime = %m 
            01 = TEXT 
            01.value = Січень 
            02 = TEXT 
            02.value = Лютий 
            03 = TEXT 
            03.value = Березень 
            04 = TEXT 
            04.value = Квітень 
            05 = TEXT 
            05.value = Травень  
            06 = TEXT 
            06.value = Червень 
            07 = TEXT 
            07.value = Липень 
            08 = TEXT 
            08.value = Серпень 
            09 = TEXT 
            09.value = Вересень 
            10 = TEXT 
            10.value = Жовтень 
            11 = TEXT 
            11.value = Листопад 
            12 = TEXT 
            12.value = Грудень 
            stdWrap.wrap =  |  
        } 
        cObject.20 = TEXT 
        cObject.20 { 
            field = start 
            strftime = %Y 
        } 
    } 
}
semender
17.04.2011, 18:59
ОЙ, Спасибо, не видел вашего ответа, а для чего вот эта часть кода там?
if {
value.field = start
value.strftime = %m
equals.data = GPvar:tx_ttnews|month
isTrue =1 
isTrue.if {
value.field = stop
value.strftime = %Y
equals.data = GPvar:tx_ttnews|year
}
negate = 1
}
Valery Romanchev
17.04.2011, 23:38
чтобы выделять текущий пункт меню
это такая своеобразная реализация if на TS
semender
22.04.2011, 02:34
Ясно, и ещё одно, у меня такая ситуация, внёс новости в архив за 2007 год, но сейчас отпала такая необходимость отображать их и меню для 2007 г.Можно ли как то не выводить меню за этот год. 
Есть идея установить в таблице tt_news поле hidden  в 1, где год совпадает с 2007. Только вот чуть подзабыл установку значений в sql? может кто поможет с этим ?
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot