Не выводится дата новостей в склоняемом падеже.

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

Moderators: iturbay, wdwp

Post Reply
duddeniska
Forum Members
Forum Members
Posts: 33
Joined: Mon Feb 21, 2011 12:19 pm

Не выводится дата новостей в склоняемом падеже.

Post by duddeniska »

Всем Здарстье. Проблема в следующем вывожу дату новостей так:
$entry->postdate|cms_date_format:"%e %B %Y" в шаблоне новостей. Показывает следующие: 28 февраль 2011. Как сделать так что бы дата вывелась следующим образом 28 февраля 2011 г. т.е что бы месяц склонялся! Заранее благодарен!
butcher_88
Forum Members
Forum Members
Posts: 113
Joined: Tue Jun 22, 2010 11:05 am

Re: Не выводится дата новостей в склоняемом падеже.

Post by butcher_88 »

Насколько я знаю только "ручками". Можно создать ассоциативный массив типа 2 => "февраля" и получать название месяца по его номеру.
palaum
Forum Members
Forum Members
Posts: 63
Joined: Tue Feb 02, 2010 10:46 am

Re: Не выводится дата новостей в склоняемом падеже.

Post by palaum »

Делаем так, создаем функцию по выдаче русской даты:

Code: Select all

{php}
function russian_date() {
   $translation = array(
      "am" => "дп",
      "pm" => "пп",
      "AM" => "ДП",
      "PM" => "ПП",
      "Monday" => "Понедельник",
      "Mon" => "Пн",
      "Tuesday" => "Вторник",
      "Tue" => "Вт",
      "Wednesday" => "Среда",
      "Wed" => "Ср",
      "Thursday" => "Четверг",
      "Thu" => "Чт",
      "Friday" => "Пятница",
      "Fri" => "Пт",
      "Saturday" => "Суббота",
      "Sat" => "Сб",
      "Sunday" => "Воскресенье",
      "Sun" => "Вс",
      "January" => "Января",
      "Jan" => "Янв",
      "February" => "Февраля",
      "Feb" => "Фев",
      "March" => "Марта",
      "Mar" => "Мар",
      "April" => "Апреля",
      "Apr" => "Апр",
      "May" => "Мая",
      "May" => "Мая",
      "June" => "Июня",
      "Jun" => "Июн",
      "July" => "Июля",
      "Jul" => "Июл",
      "August" => "Августа",
      "Aug" => "Авг",
      "September" => "Сентября",
      "Sep" => "Сен",
      "October" => "Октября",
      "Oct" => "Окт",
      "November" => "Ноября",
      "Nov" => "Ноя",
      "December" => "Декабря",
      "Dec" => "Дек",
      "st" => "ое",
      "nd" => "ое",
      "rd" => "е",
      "th" => "ое",
      );
   if (func_num_args() > 1) {
      $timestamp = func_get_arg(1);
      return strtr(date(func_get_arg(0), $timestamp), $translation);
   } else {
      return strtr(date(func_get_arg(0)), $translation);
   };
}

{/php}
затем вставлял где требуется, например — это день недели (среда):

Code: Select all

{php}echo russian_date("l");{/php}
а так будет число и месяц (2 марта):

Code: Select all

{php}echo russian_date("j F");{/php}
duddeniska
Forum Members
Forum Members
Posts: 33
Joined: Mon Feb 21, 2011 12:19 pm

Re: Не выводится дата новостей в склоняемом падеже.

Post by duddeniska »

palaum wrote:Делаем так, создаем функцию по выдаче русской даты:

Code: Select all

{php}
function russian_date() {
   $translation = array(
      "am" => "дп",
      "pm" => "пп",
      "AM" => "ДП",
      "PM" => "ПП",
      "Monday" => "Понедельник",
      "Mon" => "Пн",
      "Tuesday" => "Вторник",
      "Tue" => "Вт",
      "Wednesday" => "Среда",
      "Wed" => "Ср",
      "Thursday" => "Четверг",
      "Thu" => "Чт",
      "Friday" => "Пятница",
      "Fri" => "Пт",
      "Saturday" => "Суббота",
      "Sat" => "Сб",
      "Sunday" => "Воскресенье",
      "Sun" => "Вс",
      "January" => "Января",
      "Jan" => "Янв",
      "February" => "Февраля",
      "Feb" => "Фев",
      "March" => "Марта",
      "Mar" => "Мар",
      "April" => "Апреля",
      "Apr" => "Апр",
      "May" => "Мая",
      "May" => "Мая",
      "June" => "Июня",
      "Jun" => "Июн",
      "July" => "Июля",
      "Jul" => "Июл",
      "August" => "Августа",
      "Aug" => "Авг",
      "September" => "Сентября",
      "Sep" => "Сен",
      "October" => "Октября",
      "Oct" => "Окт",
      "November" => "Ноября",
      "Nov" => "Ноя",
      "December" => "Декабря",
      "Dec" => "Дек",
      "st" => "ое",
      "nd" => "ое",
      "rd" => "е",
      "th" => "ое",
      );
   if (func_num_args() > 1) {
      $timestamp = func_get_arg(1);
      return strtr(date(func_get_arg(0), $timestamp), $translation);
   } else {
      return strtr(date(func_get_arg(0)), $translation);
   };
}

{/php}
затем вставлял где требуется, например — это день недели (среда):

Code: Select all

{php}echo russian_date("l");{/php}
а так будет число и месяц (2 марта):

Code: Select all

{php}echo russian_date("j F");{/php}
УРА Большое спасибо! Есть же умные люди!!!
Post Reply

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