месяц в дата новости — упорно лезет латиниц&#

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

sd2008
Forum Members
Forum Members
Posts: 18
Joined: Mon Jan 14, 2008 2:04 pm

месяц в дата новости — упорно лезет латиниц&#

Post by sd2008 »

Добрый вечер,

Подскажите плиз как на этом чудном движке заменить название месяца на кириллицу в дате новости?
Поставил CMSMS 1.7, strftime %d %B %Y
Язык по умолчанию для интерфейса пользователей — русский.
legko
Forum Members
Forum Members
Posts: 88
Joined: Sun Jan 10, 2010 1:54 am

Re: месяц в дата новости — упорно лезет латиниm

Post by legko »

Посмотрите в файле /config.php строчку $config['locale']
Должно быть так:

Code: Select all

$config['locale'] = 'ru_RU.UTF-8';
sd2008
Forum Members
Forum Members
Posts: 18
Joined: Mon Jan 14, 2008 2:04 pm

Re: месяц в дата новости — упорно лезет латиниm

Post by sd2008 »

legko да, я это сделал на днях, локально не помогло, зааплоадил в сеть — там это работает. странно…

а как поменять месяцы в родительный падеж? прошерстил весь движок — не нашёл.

точнее, смог найти только месяцы на джаве писанные:

Code: Select all

/htdocs/modules/TinyMCE/tinymce/jscripts/tiny_mce/plugins/template/langs/ru_dlg.js 

Code: Select all

/htdocs/modules/TinyMCE/tinymce/jscripts/tiny_mce/langs/ru.js 


и там весь именительный падеж поправил:
months_long:"\u042F\u043D\u0432\u0430\u0440\u044F,\u0424\u0435\u0432\u0440\u0430\u043B\u044F,\u041C\u0430\u0440\u0442\u0430,
\u0410\u043F\u0440\u0435\u043B\u044F,\u041C\u0430\u044F,\u0418\u044E\u043D\u044F,\u0418\u044E\u043B\u044F,\u0410\u0432\u0433\u0443\u0441\u0442\u0430,
\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044F,\u041E\u043A\u0442\u044F\u0431\u0440\u044F,\u041D\u043E\u044F\u0431\u0440\u044F,
\u0414\u0435\u043A\u0430\u0431\u0440\u044F",


Но результата это не дало, ни в редакторе, ни во фронтенде.
У кого-нибудь получилось?
legko
Forum Members
Forum Members
Posts: 88
Joined: Sun Jan 10, 2010 1:54 am

Re: месяц в дата новости — упорно лезет латиниm

Post by legko »

тут дело не в ЦМС, а в настройках локали сервера
если хостинг позволяет выполнять функцию exec из php, то сделайте следующее:
- создайте файл locale.php следующего содержания:

Code: Select all

<?php
exec("locale", $output) ;
foreach ($output as $elem) {
print $elem . "<br />";
}
?>
- разместите его в корне своего сайта
- зайдите на сайт по адресу: http://you.site.ru/locale.php
- посмотрите результат
в идеале должно быть так:

Code: Select all

LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8
- если результат отличается от вышеприведенного (а скорей всего так оно и есть), выложите его здесь


... ждем результатов
sd2008
Forum Members
Forum Members
Posts: 18
Joined: Mon Jan 14, 2008 2:04 pm

Re: месяц в дата новости — упорно лезет латиниm

Post by sd2008 »

нет, увы, ЕXЕС не запускается, получаю белый экран.

я вот подумал, м.б. имеет смысл поколдовать на уровне action_default.php модуля News, убрать последние буквы месяцев сабстрингом, и добавлять «а» и «я» на конец в зав-сти от того что там выводится? Или это совсем криво?  ::)
Last edited by sd2008 on Thu Apr 08, 2010 5:24 pm, edited 1 time in total.
legko
Forum Members
Forum Members
Posts: 88
Joined: Sun Jan 10, 2010 1:54 am

Re: месяц в дата новости — упорно лезет латиниm

Post by legko »

вместо exec можно попробовать

Code: Select all

system('locale -a'); 
получите список установленных локалей на хостинге
если там найдется локаль ru_RU
то можно будет в первых строках файла index.php между прописать следующее:

Code: Select all

setlocale(LC_ALL, 'ru_RU');
должно сработать.

Вам по любому нужно узнать локали установленные на хостинге, напишите письмо хостеру.
Дальше будем решать.
Last edited by legko on Thu Apr 08, 2010 9:46 pm, edited 1 time in total.
sd2008
Forum Members
Forum Members
Posts: 18
Joined: Mon Jan 14, 2008 2:04 pm

Re: месяц в дата новости — упорно лезет латиниm

Post by sd2008 »

legko спасибо за помощь, у меня локали такие:
C POSIX af_ZA.ISO8859-1 af_ZA.ISO8859-15 af_ZA.UTF-8 am_ET.UTF-8 be_BY.CP1131 be_BY.CP1251 be_BY.ISO8859-5 be_BY.UTF-8 bg_BG.CP1251 bg_BG.UTF-8 ca_ES.ISO8859-1 ca_ES.ISO8859-15 ca_ES.UTF-8 cs_CZ.ISO8859-2 cs_CZ.UTF-8 da_DK.ISO8859-1 da_DK.ISO8859-15 da_DK.UTF-8 de_AT.ISO8859-1 de_AT.ISO8859-15 de_AT.UTF-8 de_CH.ISO8859-1 de_CH.ISO8859-15 de_CH.UTF-8 de_DE.ISO8859-1 de_DE.ISO8859-15 de_DE.UTF-8 el_GR.ISO8859-7 el_GR.UTF-8 en_AU.ISO8859-1 en_AU.ISO8859-15 en_AU.US-ASCII en_AU.UTF-8 en_CA.ISO8859-1 en_CA.ISO8859-15 en_CA.US-ASCII en_CA.UTF-8 en_GB.ISO8859-1 en_GB.ISO8859-15 en_GB.US-ASCII en_GB.UTF-8 en_IE.UTF-8 en_NZ.ISO8859-1 en_NZ.ISO8859-15 en_NZ.US-ASCII en_NZ.UTF-8 en_US.ISO8859-1 en_US.ISO8859-15 en_US.US-ASCII en_US.UTF-8 es_ES.ISO8859-1 es_ES.ISO8859-15 es_ES.UTF-8 et_EE.ISO8859-15 et_EE.UTF-8 eu_ES.ISO8859-1 eu_ES.ISO8859-15 eu_ES.UTF-8 fi_FI.ISO8859-1 fi_FI.ISO8859-15 fi_FI.UTF-8 fr_BE.ISO8859-1 fr_BE.ISO8859-15 fr_BE.UTF-8 fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CA.UTF-8 fr_CH.ISO8859-1 fr_CH.ISO8859-15 fr_CH.UTF-8 fr_FR.ISO8859-1 fr_FR.ISO8859-15 fr_FR.UTF-8 he_IL.UTF-8 hi_IN.ISCII-DEV hr_HR.ISO8859-2 hr_HR.UTF-8 hu_HU.ISO8859-2 hu_HU.UTF-8 hy_AM.ARMSCII-8 hy_AM.UTF-8 is_IS.ISO8859-1 is_IS.ISO8859-15 is_IS.UTF-8 it_CH.ISO8859-1 it_CH.ISO8859-15 it_CH.UTF-8 it_IT.ISO8859-1 it_IT.ISO8859-15 it_IT.UTF-8 ja_JP.SJIS ja_JP.UTF-8 ja_JP.eucJP kk_KZ.PT154 kk_KZ.UTF-8 ko_KR.CP949 ko_KR.UTF-8 ko_KR.eucKR la_LN.ISO8859-1 la_LN.ISO8859-15 la_LN.ISO8859-2 la_LN.ISO8859-4 la_LN.US-ASCII lt_LT.ISO8859-13 lt_LT.ISO8859-4 lt_LT.UTF-8 nl_BE.ISO8859-1 nl_BE.ISO8859-15 nl_BE.UTF-8 nl_NL.ISO8859-1 nl_NL.ISO8859-15 nl_NL.UTF-8 no_NO.ISO8859-1 no_NO.ISO8859-15 no_NO.UTF-8 pl_PL.ISO8859-2 pl_PL.UTF-8 pt_BR.ISO8859-1 pt_BR.UTF-8 pt_PT.ISO8859-1 pt_PT.ISO8859-15 pt_PT.UTF-8 ro_RO.ISO8859-2 ro_RO.UTF-8 ru_RU.CP1251 ru_RU.CP866 ru_RU.ISO8859-5 ru_RU.KOI8-R ru_RU.UTF-8 sk_SK.ISO8859-2 sk_SK.UTF-8 sl_SI.ISO8859-2 sl_SI.UTF-8 sr_YU.ISO8859-2 sr_YU.ISO8859-5 sr_YU.UTF-8 sv_SE.ISO8859-1 sv_SE.ISO8859-15 sv_SE.UTF-8 tr_TR.ISO8859-9 tr_TR.UTF-8 uk_UA.CP1251 uk_UA.ISO8859-5 uk_UA.KOI8-U uk_UA.UTF-8 zh_CN.GB18030 zh_CN.GB2312 zh_CN.GBK zh_CN.UTF-8 zh_CN.eucCN zh_HK.Big5HKSCS zh_HK.UTF-8 zh_TW.Big5 zh_TW.UTF-8


собственно, там (никхост) месяцы сами в родительный падеж и встали :)
Last edited by sd2008 on Tue Apr 20, 2010 6:34 pm, edited 1 time in total.
werwolf78
Forum Members
Forum Members
Posts: 16
Joined: Thu Mar 03, 2011 9:41 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by werwolf78 »

здравствуйте,
у меня вопрос по теме Вашего разговора... точнее- около него...
только что начал настраивать модуль news у себя на сайте - обратил внимание что дата выводится на инглише... не нашел где это можно поменять- полез сюда на форум... надыбал две ветки с близкой темой... в обоих рекомендуют
в конфиге прописать $config['locale'] = 'ru_RU.UTF-8';
сделал....
вроде помогло.... НО....
1. резко изменился вид выводимых новостей- если сначала заголовок новости выводился жирным и подчеркнуты.. плюс разделительная горизонтальная линия, плюс чуть менее жирным резюме... плюс полный текст новости без всяких "подробнее"..
то после изменения конфига- все шрифты стали маленькими, исчезла разделительная линия, жирные шрифты и появилась ссылка "подробнее" вместо текста самой новости.....

( в принципе- не смертельно и не принципиально- но причем тут настройки локали?)

2. и главное- при клике на заголовок новости или ссылку "подробнее" выдает страницу ошибки с надписью
Parse error: syntax error, unexpected T_STRING in /home/camellia/public_html/config.php on line 173

то есть ссылается на строку с $config['locale'] = 'ru_RU.UTF-8';

в чем проблема? что ему анекспектед??????

кстати- при попытке вернуть старую строку $config['locale'] = '';
формат даты таки меняется обратно на инглиш... но траблы №1 и №2 остаются жить.......
werwolf78
Forum Members
Forum Members
Posts: 16
Joined: Thu Mar 03, 2011 9:41 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by werwolf78 »

о пользе оздоровительного сна..)))

не решив траблов №1 и 2- ушел спать...
утром открыл сайт- чудесным образом трабл №2 исчез= ошибку больше не выдает- все ок.... трабл №1 остался- но это фигня- порешаю через css.. наверное...
конечно, неприятно когда происходит нечто что ты не понимаешь- но рассосалось и рассосалось- есть еще чем заняться... тут такой вопросик возник....

у меня дизайн двух колоночный...
в первой колонке- {content}
во второй - {content block="info-Block-2"}
именно во втором блоке - {news}

так вот в чем проблемка- при нажатии "подробнее" текст новости открывается в первой колонке (там где {content}) , замещая "родное" содержимое....
как заставить открываться новость там же где ей и положено- во второй колонке???
конечно самый простой вариант- поменять местами в шаблоне {content} и {content block="info-Block-2"}.. но хочется как то грамотней...
вот например, аналогичная фигня наблюдалась с формой обратной связи- модулем FormBuilder...
но там есть хорошая галочка "Показывать форму встроенной?"
после того как поставишь галочку- сообщение об отправке формы появляется в той колонке что и сама форма а не в колонке с {content}..
нет ли чего аналогичного и в {news}?
User avatar
AtonS
Forum Members
Forum Members
Posts: 38
Joined: Thu Aug 06, 2009 2:09 pm

Re: месяц в дата новости — упорно лезет латиниц&#

Post by AtonS »

Так и не найдено решение этого вопроса? Хотелось чтобы вместо 18 май 2011 было все таки 18 мая 2011 года
butcher_88
Forum Members
Forum Members
Posts: 113
Joined: Tue Jun 22, 2010 11:05 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by butcher_88 »

Если повезет то будет "мая" на хостинге установлено - или не повезет мне как-то пришлось исправлять с "мая" на "май". Так что ИМХО проще сделать небольшой хак, чем париться с сервером на виртуальном хостинге.
sonicby
New Member
New Member
Posts: 2
Joined: Mon May 23, 2011 6:59 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by sonicby »

Так что именно нужно поправить, чтобы название месяца было в другом падеже ?
sonicby
New Member
New Member
Posts: 2
Joined: Mon May 23, 2011 6:59 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by sonicby »

butcher_88 wrote:Если повезет то будет "мая" на хостинге установлено - или не повезет мне как-то пришлось исправлять с "мая" на "май". Так что ИМХО проще сделать небольшой хак, чем париться с сервером на виртуальном хостинге.
Что конкретно ты делал,чтобы получить дату в родительном падеже ?
butcher_88
Forum Members
Forum Members
Posts: 113
Joined: Tue Jun 22, 2010 11:05 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by butcher_88 »

Видел такой вариант
http://forum.cmsmadesimple.org/viewtopi ... 27&t=52369

Я подобную вещь реализовывал в модулях, но нашел тэг пользователя (плагин смарти), для вывода дат новостей
1) Нужно создать php файл
/plugins/function.news_date.php
со следующим содержимым

Code: Select all

<?php
/*
 * Custom date
 */

function smarty_cms_function_news_date($params, &$smarty) {
	
$date = $params['date'];
    $month_names = array("январь", "февраль", "март", "апрель", "май", "июнь",
        "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь");
	if (strtotime ($date) != '') {
		$time = strtotime ($date);
		$today = getdate ($time);
	}
	
	$month = $today['mon'];
	
	echo $month_names[$month-1] . strftime(' %e, %Y',$time);
	
}

function smarty_cms_help_function_news_date() {
  echo lang('help_function_current_date');
}

function smarty_cms_about_function_news_date() {
	?>
	<p>Author: Mikhail Myasnikov <butcher.perm@gmail.com></p>
	<p>Version: 1.0</p>
	<p>
	Change History:<br/>
	None
	</p>
	<?php
}
?>
2) В шаблоне где мы выводим дату пишем например:

Code: Select all

{news_date date=$entry->postdate}
можно заменить

Code: Select all

$entry->postdate
на любое адекватное представление даты

З.Ы. Решение не зависит от настроек хостинга))
drongo
New Member
New Member
Posts: 9
Joined: Wed Jun 20, 2012 7:07 am

Re: месяц в дата новости — упорно лезет латиниц&#

Post by drongo »

У меня в результате этой функции показывает только месяц и год.
Как заставить число показывать?
Post Reply

Return to “Russian - русский”