0 Пользователей и 1 Гость просматривают эту тему.
  • 20 Ответов
  • 2401 Просмотров
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Доброго времени суток!
Не пугайтесь пожалуйста заголовку - разумеется я нашел в "общих настройках" админки на вкладке сервер, пункт выбора часового пояса. Но! Сначала поподробней опишу вводную.
На моем сайте www.itnewsroom.ru , на Joomla 3.х стоит шаблон tk-blue-moon: http://joomla25.ru/shablony/tk-blue-moon-shablon-razlichnoj-tsvetovoj-gammy-dlya-joomla-2-5.html Прошу прощение за обилие ссылок, но что-то мне подсказывает, что собака зарылась где то именно тут. И вот на этом шаблоне есть косяк: по умолчанию там не выводится ВРЕМЯ создания документа, а только ЧИСЛО, дату то бишь. На сайт я прикрутил RSS-ленту, инструмент полезный, ну и в добавок в ней есть ВРЕМЯ создания записи. Но, как я уже говорил время это на 3 часа отстает. При этом, что интересно, и в админке, и в окне создания/редактирования уже имеющейся записи во фронтэнде - время показывается верное! А вот в RSS-ленте, которую я использую в т.ч. и для получения точного времени создания документа, хоть убейся, время на 3 часа меньше. При этом, какой бы часовой пояс я ни выставлял в  "общих настройках" админки на вкладке сервер, время в RSS-ленте как прилипшее - на 3 часа меньше.
И вот, у меня возникла мысль. А может это не время (атрибут размещенного материала-записи) неверное, а сама RSS-лента как-то косячит?
Ну и, соответственно, чтобы проверить эту догадку надо как-то заставить шаблон выводить не только дату но и время записи. Нашел, где-то не помню уж, в настройках поле для ввода кода отображения даты/времени. Покопался в инете, нашел несколько страничек с описанием кодов HTML для даты/времени - но все без толку, либо ничего не меняется, либо какие то артефакты вместо результата. Может кто подскажет какой именно код туда надо вставить, чтобы получить нормальный код  даты С временем?

12.12.2014 переименовал тему (до этого называлась "Системное время - показывает на 3 часа меньше (настройки видел)"), соответственно почти все что в стартовом сообщении уже не актуально. Ищу ответ на вопрос, вынесенный в название темы.
« Последнее редактирование: 12.12.2014, 17:00:16 от alexcander »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
В базе Joomla всегда хранит время в UTC. Соответственно дата/время создания всех материалов (и не только) тоже в UTC. Когда вы в "общих настройках" выставляете часовой пояс, Joomla при отображении времени учитывает этот сдвиг, используя класс JHtml для вывода. Поэтому могу предположить, что проблема в самой RSS-ленте.

Проверить вывод даты/времени можно так:
Код: php
<?php echo JHtml::_('date', JFactory::getDate(), 'd.m.Y H:i'); ?>
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Цитировать
<?php echo JHtml::_('date', JFactory::getDate(), 'd.m.Y H:i'); ?>
Прошу прощения - я чайник - уточнение, куда это надо вставлять?
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
в index.php шаблона сразу за <body>
Что-то в моем index.php нет никакого body
скрин: https://yadi.sk/i/11Kj-0q7dJecg
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
тогда в /layouts/template.php
Да, получилось. Спасибо.
Теперь, когда мы убедились что косяк со временем действительно на совести rss-ленты, а не самого сайта, надо что-то решать со вторым, главным вопросом. Как заставить шаблон (тк_блю_мун 2) выводить время создания/опубликования в полном формате (дата+время)?
Ну и заодно, хотелось бы понять как обосновать этой самой RSS-ленте ее неправоту?  Или вариант только один - искать какой-то хэндмейд код в котором будут принудительно вноситься нужные поправки? Как - не спрашивайте, я сам чайник.

Вот есть два скриншота: https://yadi.sk/i/TfA5DggadJjUw и https://yadi.sk/i/mnCTB_fZdJjUs

Что надо ввести в указанное поле, чтобы шаблон вывел полную дату в формате, к примеру, 11.12.2014, 16:37  - я так и не понял. http://php.net/manual/en/function.date.php - тут был, но не помогло.
« Последнее редактирование: 11.12.2014, 16:38:33 от alexcander »
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
d.m.Y H:i
Не работает.
Вообще, такое впечатление, что просто-напросто шаблон кривой до ужаса. Многие вещи, которые прекрасно работают на моем тестовом полигоне под Денвером на стандартном шаблоне, здесь, на блю-муне работать не хотят наотрез.   
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Хорошо, я так чувствую, заставить шаблон выводить полную дату (число плюс время) - шансов мало.
Тогда другой вопрос: как заставить RSS-ленту отображать корректное время? Наверно ведь есть же какой то код, для принудительного внесения поправки на часовой пояс?
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Вообще, нет. Вот отсюда код брал: http://www.ecolora.ru/index.php/2010-07-09-03-51-16/veb-dizajn-i-programmirovanie/918-dobavljaem-rss-v-joomla-25
Но и на стандартном модуле тоже уже проверял - эффект тот же.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Странно, но я не нашел, где в стандартной Joomla RSS настраивается вывод времени. Его там нет.
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Странно, но я не нашел, где в стандартной Joomla RSS настраивается вывод времени. Его там нет.
Ну.. Если б все было так просто я б и не полез на форум. Эх, беда-печаль..
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Как прикрутили? По статье выше?
Да.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Я писал несколько лет назад вывод RSS-ленты как альтернативный шаблона блога категории. И столкнулся с той же проблемой. Решаем так:

Код: php
/*date*/
$config = JFactory::getConfig();
$offset = $config->getValue('config.offset');
date_default_timezone_set($offset);
$item->pubDate = date("r", strtotime($item->created) + date_offset_get(new DateTime));
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Shustry, а почему просто не использовать JHtml? Зачем сложности? ;)

Код: php
<?php echo JHtml::_('date', $item->created, 'd.m.Y H:i'); ?>
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
b2z, потому что у меня так оффсет не работал. Выводилось серверное время. Как и почему — я уже не скажу. Писал года два-три назад, не меньше.
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Я писал несколько лет назад вывод RSS-ленты как альтернативный шаблона блога категории. И столкнулся с той же проблемой. Решаем так:

Код: php
/*date*/
$config = JFactory::getConfig();
$offset = $config->getValue('config.offset');
date_default_timezone_set($offset);
$item->pubDate = date("r", strtotime($item->created) + date_offset_get(new DateTime));
Опять вопрос от чайник. Куда это вставлять? Попробовал в модуль "Произвольный HTML-код" воткнуть - явно не то :)
/layouts/template.php - тоже.
« Последнее редактирование: 12.12.2014, 12:14:21 от alexcander »
*

alexcander

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Так.. Я тут параллельно на эту же тему на соседнем форуме вышел, там кой-чего другое посоветовали.
Кто может либо ссылочку на ГРАМОТНЫЙ мануал бросить, или сам может объяснит, как делается RSS-лента на основе XML-файла? Там, я так понял, и можно будет поправку на часовой пояс задать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Лента новостей

Автор archives.kg

Ответов: 1
Просмотров: 286
Последний ответ 07.02.2024, 19:35:18
от beliyadm
Отправка файла на емайл в определенное время

Автор mag_num83

Ответов: 1
Просмотров: 409
Последний ответ 01.11.2022, 17:20:58
от marksetter
Лента новостей показывает только 9 материалов из категории

Автор Zixi 2020

Ответов: 1
Просмотров: 402
Последний ответ 20.04.2021, 10:13:35
от Zixi 2020
В Google поиске под названием сайта неверное описание

Автор PSN

Ответов: 2
Просмотров: 406
Последний ответ 06.02.2021, 13:15:12
от PSN
Умный поиск не показывает подсказок

Автор cntrl

Ответов: 6
Просмотров: 414
Последний ответ 02.12.2020, 15:02:49
от cntrl