Последние темы: английские даты - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 3 Страниц +
  • 1
  • 2
  • 3

Последние темы: английские даты

#1 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 09:15

В последних темах на главной странице форума отображаются английские даты, например, "Mar" вместо "Мар".
Похоже, используется php-функция date, которая с русским не дружит.

Какой самый простой вариант русификации этой даты ?
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 688
  • Регистрация: 20-Март 09
  • Репутация: 2 261
  • IPB version:3.1.x
 

Отправлено 06 Март 2015 - 11:57

- на сервере должна быть установлена русская локаль
- в настройках языка нужно прописать русскую локаль

Русификация даты
Формат времени в IPB
0

#3 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 18:54

Просмотреть сообщениеsiv1987 06 Март 2015 - 11:57 сказал(а):

- на сервере должна быть установлена русская локаль
- в настройках языка нужно прописать русскую локаль

Всё так и есть. На сервере локаль "ru_RU.UTF-8" установлена (проверил через locale -a). В текущем языковом пакете "ru_RU.UTF-8" указана. В итоге все даты - на русском языке (если изменить, например, на "ru_RU.UTF-81", то язык везде меняется на английский - т.е. русская локаль применяется и работает нормально).

Но сабжевая проблема касается именно блока "Последние темы". Только там даты английские.
Похоже, виноват стандартный хук последних тем.

Сообщение изменено: cyrax_02 (06 Март 2015 - 19:01)

0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 688
  • Регистрация: 20-Март 09
  • Репутация: 2 261
  • IPB version:3.1.x
 

Отправлено 06 Март 2015 - 19:10

В стандартном шаблоне стандартного хука последние темы используется тег parse date с форматом "Сокращенный формат".
0

#5 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 19:32

Цитата

...используется тег parse date с форматом "Сокращенный формат".

Это вы используете терминологию шаблонов IP.Board, в коих я ещё не разбираюсь.

Т.е. всё-таки, на уровне php хук ошибочно использует функцию date вместо комбинации setlocale() + strftime() - это вы хотели сказать ?
Не понимаю я иерархию классов IP.Board. Дебри дремучие. Хрен что найдёшь...
0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 688
  • Регистрация: 20-Март 09
  • Репутация: 2 261
  • IPB version:3.1.x
 

Отправлено 06 Март 2015 - 19:36

Другими словами, на уровне хука все должно быть нормально, так как используется тот же метод вывода дат что и в других местах (сокращенный формат). Смотрите в шаблоне.
0

#7 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 20:08

Спустя 30 минут поиска всё-таки нашёл шаблоны хуков. Оказывается, они расположены в группе "Список форумов".
Смотрим шаблон "hookRecentTopics":

<if test="recenttopics:|:is_array( $topics ) && count( $topics )">
<div class='ipsSideBlock clearfix'>
	<h3>{$this->lang->words['recently_added_topics']}</h3>
	<div class='_sbcollapsable'>
		<ul class='ipsList_withminiphoto'>
		<foreach loop="topics_hook:$topics as $r">
		<li class='clearfix'>
			{parse template="userSmallPhoto" group="global" params="$r"}
			<div class='list_content'>
				<a href="{parse url="showtopic={$r['tid']}" base="public" template="showtopic" seotitle="{$r['title_seo']}"}" rel='bookmark' class='ipsType_small' title='{parse expression="strip_tags($r['topic_title'])"} {$this->lang->words['topic_started_on']} {parse date="$r['start_date']" format="LONG"}'>{$r['topic_title']}</a>
				<p class='desc ipsType_smaller'>
					<if test="$r['members_display_name']">{parse template="userHoverCard" group="global" params="$r"}<else />{$this->settings['guest_name_pre']}{$r['starter_name']}{$this->settings['guest_name_suf']}</if>
					- {parse date="$r['start_date']" format="short"}
				</p>
			</div>
		</li>
		</foreach>
		</ul>
	</div>
</div>
</if>


Вот эта строка:
- {parse date="$r['start_date']" format="short"}

мне ни о чём не говорит. Я больше доверяю php-коду.

Сообщение изменено: cyrax_02 (06 Март 2015 - 20:08)

0

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 688
  • Регистрация: 20-Март 09
  • Репутация: 2 261
  • IPB version:3.1.x
 

Отправлено 06 Март 2015 - 20:19

Попробуйте поменять short на long.

Настройки -> Дополнительно -> Формат чисел, времени и дат: Сокращенный формат
0

#9 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 20:31

Цитата

Попробуйте поменять short на long.

Получаем "March". И только в блоке последних тем. Во всех остальных местах все даты на русском.

Выходит, не бывает рабочих программных систем. Всегда всё руками нужно шлифовать. Как так можно. Ужас...
И ведь на нулёвом лицензионном IP.Board без всяких дополнительных хуков на стандартных стилях.
0

#10 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 688
  • Регистрация: 20-Март 09
  • Репутация: 2 261
  • IPB version:3.1.x
 

Отправлено 06 Март 2015 - 20:33

Просмотреть сообщениеcyrax_02 сказал(а):

class_forums::hooks_recentTopics()

Не надо приводить бесполезные блоки кода. Во первых, мы и так его знаем, во вторых дата форматируется в шаблоне а не в хуке. Вы уверены что это стандартный хук? Укажите правильный адрес форума в board url.
0

#11 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 20:40

Цитата

Вы уверены что это стандартный хук?

Абсолютно. Система нулёвая. Все хуки нулёвые "из коробки".

Цитата

Укажите правильный адрес форума в board url.

Я его скрыл в целях конфиденциальности. Отправил адрес форума в личку. Можете убедиться сами, что даты в этом блоке - английские.
Блок последних тем - стандартный "из коробки".
0

#12 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 20:44

Не нужно больше ничего удалять. Через месяц приспичит код хука найти...

/admin/applications/forums/sources/classes/forums/class_forums.php
class_forums::hooks_recentTopics()
0

#13 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 688
  • Регистрация: 20-Март 09
  • Репутация: 2 261
  • IPB version:3.1.x
 

Отправлено 06 Март 2015 - 20:54

Просмотреть сообщениеcyrax_02 сказал(а):

Через месяц приспичит код хука найти.

Вы весь форум будете сюда выкладывать если через месяц что-то приспичит?.. Для этого существует блокнот, куда обычно записывают нужные места и фрагменты кода.

Просмотреть сообщениеcyrax_02 сказал(а):

Я его скрыл в целях конфиденциальности.

В целях конфиденциальности это поле видно только администрации и IPB специалистам.

Просмотреть сообщениеcyrax_02 сказал(а):

Абсолютно. Система нулёвая.

Тогда должно работать. Отключайте все кастомные хуки.
0

#14 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 20:55

Могу предположить, что причиной сабжевой проблемы стал патч 3_4_x_patch_nov_14

У меня есть вариант того же форума (той же версии), но без этого патча - там в блоке "Последние темы" даты русские, как и положено (правда, с точкой в конце - но это, наверное, от версии php зависит (в старых php strftime после сокращённых месяцев и дней недели ставит точку, в новых версях php -нет)).

Другая возможная причина - определённая комбинация стандартных настроек IP.Board приводит к сабжевому артефакту.

Сообщение изменено: cyrax_02 (06 Март 2015 - 21:04)

0

#15 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 135
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 06 Март 2015 - 21:02

Цитата

Тогда должно работать. Отключайте все кастомные хуки.

Кастомных хуков нет. Только стандартные.

----------------------------
В общем, что мне сейчас нужно: найти место в исходных кодах IP.Board, где непосредственно получается строковое представление даты (используются php-функции date и strftime). Всё остальное - это танцы с бубном на закате.

Поставим туда строку кода:
if(strpos($date, 'Mar', 0) > 0) { die('Вот она - кузявка: '....); }


Только так можно гарантированно локализовать проблему.

Сообщение изменено: cyrax_02 (06 Март 2015 - 21:04)

0

Сообщить об этой теме:


  • 3 Страниц +
  • 1
  • 2
  • 3


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна