Slavik18 16 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Подскажите, как в ДЛЕ сделать дату на русском языке, то есть название месяца? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Slavik18, В настройках скрипта задается формат вывода даты, там же дана подробная справка по формату данных, в том числе и то как как вывести название месяца. Цитата Ссылка на сообщение Поделиться на других сайтах
Slavik18 16 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Автор Slavik18, В настройках скрипта задается формат вывода даты, там же дана подробная справка по формату данных, в том числе и то как как вывести название месяца. Вы про эту справку, как сделать вместо January Январь? a - "am" или "pm"A - "AM" или "PM"B - время Swatch Internetd - день (число) месяца, 2 цифры с ведущим нулём, если необходимо; т. е. от "01" до "31"D - день недели, буквенный, 3 буквы; например, "Fri"F - месяц, буквенный, long; например, "January"g - час, 12-часовой формат без ведущих нулей; т.е. от "1" до "12"G - час, 24-часовой формат без ведущих нулей; т.е. от "0" до "23"h - час, 12-часовой формат; т.е. от "01" до "12"H - час, 24-часовой формат; т.е. от "00" до "23"i - минуты; т.е. от "00" до "59"I (заглавная i) - "1", если Daylight Savings Time, "0" - в противном случае.j - день (число) месяца без ведущих нулей; т.е. от "1" до "31"l ('L' в нижнем регистре) - день недели, буквенный, long; например, "Friday"L - boolean, указывающее, високосный ли год; т.е. "0" или "1"m - месяц; т.е. от "01" до "12"M - месяц, буквенный, 3 буквы; например, "Jan"n - месяц без ведущих нулей; т.е. от "1" до "12"O - Разница с временем по Гринвичу, в часах; например, "+0200"r - RFC 822 формат даты; например, "Thu, 21 Dec 2000 16:01:07 +0200" (введён в PHP 4.0.4)s - секунды; т.е. от "00" до "59"S - простой английский суффикс для дня (числа) месяца, 2 символа; т.е. "st", "nd", "rd" или "th"t - количество дней в данном месяце; т.е. от "28" до "31"T - установка Timezone/Часовой пояс на данной машине; например, "EST" или "MDT"U - секунды эпохи Unix Epoch (начиная с January 1 1970 00:00:00 GMT)w - день недели, числовой, т.е. от "0" (Sunday) до "6" (Saturday)W - ISO-8601 номер недели в году, недели начинаются с понедельника/Monday (введено в PHP 4.1.0)Y - год, 4 цифры; например, "1999"y - год, 2 цифры; например, "99"z - день года; т.е. от "0" до "365"Z - смещение часового пояса, в секундах (т.е. от "-43200" до "43200"). Смещение часовых поясов к западу от UTC всегда отрицательное, а для поясов к востоку от UTC - всегда положительное. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Вы про эту справку, как сделать вместо January Январь? Если вы не перевели DLE на другой язык, и пользуетесь оригинальными языковыми файлами, то на сайте будет именно Январь а не January. Цитата Ссылка на сообщение Поделиться на других сайтах
Slavik18 16 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Автор Я поставил часовой пояс другой, так как старый московский не актуален сейчас, из-за этого может быть английская дата? Файл языка не трогал.Проверил, мой косяк, в обычном виде дата на русском показывается. Я просто сделал вывод даты в списке новостей, то есть все новости в списке разделяются датой. Я установил как ниже написано, можете подсказать, как сделать, чтобы этот код русский месяц показывал? открываете файл /engine/modules/show.short.php и сразу после строки Код: while ( $row = $db->get_row( $sql_result ) ) { вставляете конструкцию вида Код: if (!isset($cur_date) || $cur_date != date('d F', strtotime($row['date']))) { $cur_date = date('d F', strtotime($row['date'])); $tpl->set('{cur_date}', $cur_date); } else { $tpl->set('{cur_date}', ''); } затем открываете шаблон короткой новости (обычно это shortstory.tpl) и в нужном месте вставляете тег {cur_date} Цитата Ссылка на сообщение Поделиться на других сайтах
Slavik18 16 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Автор Понял, спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Slavik18, Смотрите как в этом же файле реализован стандартный вывод тегов дат, со стороны оригинального кода DLE, и используйте те же функции. Цитата Ссылка на сообщение Поделиться на других сайтах
Slavik18 16 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 Автор Slavik18, Смотрите как в этом же файле реализован стандартный вывод тегов дат, со стороны оригинального кода DLE, и используйте те же функции. Спасибо, попробую, вы имеет ввиду файл show.short.php? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 вы имеет ввиду файл show.short.php? Ну да, в нем же вывод тегов даты, для кратких новостей тоже присутствует. Цитата Ссылка на сообщение Поделиться на других сайтах
Slavik18 16 Опубликовано: 15 января 2015 Рассказать Опубликовано: 15 января 2015 (изменено) Автор вы имеет ввиду файл show.short.php? Ну да, в нем же вывод тегов даты, для кратких новостей тоже присутствует. Сам не смог разобраться, подсказали такой вариант, заменил две верхние строчки на эти: if (!isset($cur_date) || $cur_date != strftime('%d %A', strtotime($row['date']))) { $cur_date = strftime("%d %A", strtotime($row['date'])); Теперь дата на русском, правда месят пишет Январь, а не Января, похоже вариант решения не лучший. ) Все оказалось проще, даже сам догадался ), надо было поменять одну функцию langdate, теперь код выглядит так и работает все правильно. if (!isset($cur_date) || $cur_date != langdate('d F', strtotime($row['date']))) { $cur_date = langdate('d F', strtotime($row['date'])); $tpl->set('{cur_date}', $cur_date); } else { $tpl->set('{cur_date}', ''); } Остался один вопрос, как сделать в коде выше, чтобы была надпись в дате Сегодня? Изменено 15 января 2015 пользователем Slavik18 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.