Форум русской поддержки Joomla!® CMS
23.07.2017, 12:56:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Очень прошу помочь чуть поднастроить вывод RSS ленты

 (Прочитано 156 раз)
0 Пользователей и 1 Гость смотрят эту тему.
marina9777
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 37



« : 14.07.2017, 15:36:04 »

Доброго вам дня! Очень прошу помочь чуть поднастроить вывод RSS ленты (компонентом). Проблема в том, что он неверно показывает серверное время (на три часа раньше) и часовой пояс таким образом <pubDate>Fri, 14 Jul 2017 10:00:00 +0000</pubDate>...а надо бы чтобы было <pubDate>Fri, 14 Jul 2017 13:00:00 +3000</pubDate>

..код такой вывода, не соображу, где изменить, не получается ничего

    * @return a date in RFC 822 format
    */
      function rfc822() {
      return gmdate("r",$this->unix);
      //$date = gmdate("D, d M Y H:i:s", ($this->unix+$this->tzoffset2*3600));

      

      //if (TIME_ZONE!="") {
      if ($this->tzoffset2!="") {
         //$date .= " ".str_replace(":","",TIME_ZONE);
         $tzone = sprintf("%06.2f",$this->tzoffset2);
         $tzone = str_replace(".", "", $tzone);
         if (strpos ( "$tzone", "-"  )===0)
         {
         //$tzone="+0300";
         }
         else
         {
         $tzone[0]="+";
         //$tzone="+0300";
         }
         $date .= " ".str_replace(":","",$tzone);
      } else {
         $date .= " ".str_replace(":","","GMT");
      }
      return $date;
   }

Заранее спасибо!
Записан
SeBun
Практически профи
*******

Репутация: +184/-5
Offline Offline

Пол: Мужской
Сообщений: 3132


@SeBun48


« Ответ #1 : 14.07.2017, 18:29:56 »

Что то тут пытались сообразить, но вывернули наизнанку. Удалите весь этот код, полностью, и напишите так:

Код
function rfc822() {
     return gmdate("r",time());
}

Что покажет?
Записан
marina9777
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 37



« Ответ #2 : 14.07.2017, 18:56:16 »

Что то тут пытались сообразить, но вывернули наизнанку. Удалите весь этот код, полностью, и напишите так:

Код
function rfc822() {
     return gmdate("r",time());
}

Что покажет?

Спасибо за помощь, но к сожалению, <pubDate> осталось таким же..Но к тому же и <lastBuildDate> тоже потерял 3 часа (до изменений показывал нормальное время)...

привожу код всего файла (без ваших изменений)

Показать текстовый блок
Записан
SeBun
Практически профи
*******

Репутация: +184/-5
Offline Offline

Пол: Мужской
Сообщений: 3132


@SeBun48


« Ответ #3 : 15.07.2017, 08:55:21 »

А у вас вообще временная зона в настройках сайта задана?
Записан
marina9777
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 37



« Ответ #4 : 15.07.2017, 10:42:28 »

А у вас вообще временная зона в настройках сайта задана?

Задано! +3 по Москве...на сервере также время точное, московское

При этом, если я задаю например часовой пояс в Joomla (в конфиг.файле) на +6, то время в РСС показывает уже точное )...но боюсь, зато, остальные компоненты уже будут отображать неточное время (например дата публикации статьи в модулях).
Записан
NewUsers
Завсегдатай
*****

Репутация: +39/-0
Online Online

Пол: Мужской
Сообщений: 548


« Ответ #5 : 15.07.2017, 10:47:55 »

Что за компонент?
Записан
marina9777
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 37



« Ответ #6 : 15.07.2017, 10:55:37 »

Что за компонент?

ObRss
Записан
SeBun
Практически профи
*******

Репутация: +184/-5
Offline Offline

Пол: Мужской
Сообщений: 3132


@SeBun48


« Ответ #7 : 17.07.2017, 11:43:49 »

Ну давайте сделаем костыль: найдите функцию  function createFeed() и в ней такой код:

Код
      if ($this->pubDate!="") {
        $pubDate = new FeedDate($this->pubDate);
        $feed.= "        <pubDate>".htmlspecialchars($pubDate->rfc822())."</pubDate>\n";
     }

Здесь выводится ваша дата. Меняем так:

Код
      if ($this->pubDate!="") {
        $pubDate = new FeedDate($this->pubDate);
        $feed.= "        <pubDate>".date("jS F, Y");."</pubDate>\n";
     }

Будет показывать сегодняшнюю дату.
Записан
vipiusss
Профи
********

Репутация: +317/-10
Offline Offline

Пол: Мужской
Сообщений: 5707


Skype: renor_


« Ответ #8 : 17.07.2017, 11:46:54 »

Показать текстовый блок

ТС: какая у вас версия стоит и на чём ( J! какая и php уточните)?!
И у вас варез или подписка на foobla.com?

От вашего ответа зависит дальнейшее.

// От себя, я помню посты ТС и что ей якобы достался сайт с варезными расширениями.
Я в это не верю.

Марина, ничего личного, тут это запрещено, и если даже предположить, что вы купили сайт с каками и варезами, то не знание закона не освобождает от ответственности.

В нашем случае правила форума!

Итого: сделайте анализ сайта в комм.разделе и сделайте сайт ваш, если он вам нужен.
Если нет-вопрос времени, когда ваш код будет настолько уязвим, что **********
« Последнее редактирование: 17.07.2017, 12:08:53 от vipiusss » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet