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

adex

  • Новичок
  • 7
  • 1 / 0
rss, pubDate - Проблема с yandex
« : 07.05.2019, 23:13:03 »
Добрый день, не получается разместиться в yandex news.
Вот что пишет yandex
Цитировать
<pubDate>Tue, 07 May 2019 11:04:17 +0300</pubDate>
Эта запись означает, что новость опубликована сегодня в 11:04 по московскому времени (то есть, по часовому поясу UTC +3). +0300 - это указание на часовой пояс.
При этом на сайте указано, что новость опубликована в 14:04.

Поправьте, пожалуйста, формат pubDate. К примеру, корректный вариант записи времени публикации для новости из примера выше - такой:
<pubDate>Tue, 07 May 2019 14:04:17 +0300</pubDate>
Посмотрел дату в базе данных стоит 11:04
Посмотрел в админке написано 14:04
Можно ли как то задать в <pubDate></pubDate> значение из админки?
Отвечают вот эти строчки в RssRenderer.php
Код
			{
$itemDate = \JFactory::getDate($data->items[$i]->date);
$itemDate->setTimeZone($stz);
$feed .= " <pubDate>" . htmlspecialchars($itemDate->toRFC822(true), ENT_COMPAT, 'UTF-8') . "</pubDate>\n";
}
Помогите пожалуйста. *ОХ-Х-Х*
« Последнее редактирование: 07.05.2019, 23:25:08 от adex »
*

Taatshi

  • Глобальный модератор
  • 5125
  • 472 / 1
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: pubDate - Проблема с yandex
« Ответ #1 : 07.05.2019, 23:21:25 »
Часовой пояс в общих настройках сайта указан?
*

adex

  • Новичок
  • 7
  • 1 / 0
Re: pubDate - Проблема с yandex
« Ответ #2 : 07.05.2019, 23:22:05 »
Часовой пояс в общих настройках сайта указан?
Да, moscow
*

Taatshi

  • Глобальный модератор
  • 5125
  • 472 / 1
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: rss, pubDate - Проблема с yandex
« Ответ #3 : 07.05.2019, 23:25:04 »
Посмотрел дату в базе данных стоит 11:04
Посмотрел в админке написано 14:04
Вообще это вряд ли. Вы, скорее всего, не туда смотрите. Там есть несколько дат - создания, публикации, редактирования материала. Может, У Вас не та дата передается7
*

adex

  • Новичок
  • 7
  • 1 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #4 : 07.05.2019, 23:34:21 »
Вообще это вряд ли. Вы, скорее всего, не туда смотрите. Там есть несколько дат - создания, публикации, редактирования материала. Может, У Вас не та дата передается7
Вот прикладываю скриншоты
http://joxi.ru/xAeVnNdtRgjkJr - это  из админки
http://joxi.ru/vAWjJR0TgqWMB2 - это то что в pma
rss
Код
		<title>Новости</title>
<description><![CDATA[]]></description>
<lastBuildDate>Tue, 07 May 2019 23:28:54 +0300</lastBuildDate>
<generator>Joomla! - Open Source Content Management</generator>
<language>ru-ru</language>
<item>
<title>Волгодонцы возложили цветы у братской могилы в станице Старосоленовской</title>
<yandex:full-text><![CDATA[<p><span style="font-size: 12.16px;">Волгодонцы возложили цветы у братской могилы в станице Старосоленовской</span></p>

<p><span style="font-size: 12.16px;"> </span></p>
<p><span style="font-size: 12.16px;">В городе полным ходом идут мероприятия, посвященные празднованию Дня Победы.</span></p>
<p><span style="font-size: 12.16px;"> </span></p>
<p><span style="font-size: 12.16px;">Сегодня, 7 мая, у всех мемориалов города, посвященных героям Великой Отечественной войны, прошли митинги и церемонии возложения цветов.</span></p>
<p><span style="font-size: 12.16px;">Одним из таких памятных мест стал памятник погибшим войнам в годы Великой Отечественной войны в станице Старосоленовской. </span></p>
<p><span style="font-size: 12.16px;">Почтить память героев, павших председатель городской Думы Людмила Ткаченко, заместитель главы администрации Виктор Потапов, председатель совета ветеранов Владимир Мельников, военный комиссар Волгодонска Сергей Сумароков.</span></p>
<p><span style="font-size: 12.16px;">У стелы победы стоял почетный караул. А по бокам юные волгодонцы, держащие белые шарики в руках. Эти шары были запущены в небо в память о павших на фронтах. </span></p>
<p><span style="font-size: 12.16px;">Звучавшие во время выступлений слова никого не оставили равнодушным. Ведь для каждой семьи годы войны не прошли бесследно. Минуло 74 года, в живых, от тех кто стоял за Родину, осталось совсем не много, но Великая Отечественная война навсегда останется в памяти. </span></p>
<p><span style="font-size: 12.16px;">После минуты молчания, состоялось возложение цветов. Около сотни букетов, принесенных жителя всех возрастов, легли у подножия братской могилы. Так же в  возложении приняли участие руководитель Волгодонского городского отделения ЛДПР Геннадий Кудрявцев, первый секретарь Волгодонского городского отделения КРПФ Алексей Мисан. </span></p>
<p><span style="font-size: 12.16px;"> </span></p>
<p><span style="font-size: 12.16px;"> </span></p>
<p> </p>]]></yandex:full-text>
<category>Новости</category>
<pubDate>Tue, 07 May 2019 11:04:17 +0300</pubDate>
</item>
Причем время которое в <lastBuildDate> правильное. а вот pubDate нет
« Последнее редактирование: 07.05.2019, 23:48:54 от adex »
*

Taatshi

  • Глобальный модератор
  • 5125
  • 472 / 1
  • Верстаем и немножко кодим. Обращайтесь ;)
Re: rss, pubDate - Проблема с yandex
« Ответ #5 : 08.05.2019, 00:06:14 »
а если другой шаблон для админки использовать - та же фигня в админке?
*

adex

  • Новичок
  • 7
  • 1 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #6 : 08.05.2019, 00:07:52 »
а если другой шаблон для админки использовать - та же фигня в админке?
поставил  Hathor, тоже самое.
и ещё на локалку чистую Joomla поставил, так же отстает на 3 часа
вот скрин с локалки
http://joxi.ru/LmGvLqxcwJ3VYr
« Последнее редактирование: 08.05.2019, 00:11:20 от adex »
*

Missile

  • Завсегдатай
  • 1009
  • 87 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #7 : 08.05.2019, 04:20:42 »
А как у вас серверное время настроено?
*

adex

  • Новичок
  • 7
  • 1 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #8 : 08.05.2019, 08:38:39 »
А как у вас серверное время настроено?
сайт на Бегете, щас задам им вопрос.
Если вы имеете ввиду php.ini то что на локалке что бегете
[Date]
date.timezone=Europe/Moscow
« Последнее редактирование: 08.05.2019, 08:49:36 от adex »
*

adex

  • Новичок
  • 7
  • 1 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #9 : 08.05.2019, 14:12:55 »
Проблема решена.
В файле Data.php
изменил значение
self::$stz = new \DateTimeZone(@date_default_timezone_get());
на
self::$stz = new \DateTimeZone('GMT');
*

adex

  • Новичок
  • 7
  • 1 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #10 : 09.05.2019, 01:07:39 »
на случай важных переговоров с Ya news
RssRenderer.php - ещё допиливаю, в настройках Joomla(статьи) - (интеграция) - (Полный текст)!для Ya news
<br>пока что только так...</br>
Код
<?php
/**
 * Joomla! Content Management System
 *
 * [member=126442]copyright[/member]  Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

namespace Joomla\CMS\Document\Renderer\Feed;

defined('JPATH_PLATFORM') or die;

use Joomla\CMS\Document\DocumentRenderer;
use Joomla\CMS\Uri\Uri;

/**
 * RssRenderer is a feed that implements RSS 2.0 Specification
 *
 * @link   http://www.rssboard.org/rss-specification
 * @since  3.5
 *
 * @property-read  \Joomla\CMS\Document\FeedDocument  $_doc  Reference to the Document object that instantiated the renderer
 */
class RssRenderer extends DocumentRenderer
{
/**
* Renderer mime type
*
* @var    string
* @since  3.5
*/
protected $_mime = 'application/rss+xml';

/**
* Render the feed.
*
* @param   string  $name     The name of the element to render
* @param   array   $params   Array of values
* @param   string  $content  Override the output of the renderer
*
* @return  string  The output of the script
*
* @see     DocumentRenderer::render()
* @since   3.5
*/
public function render($name = '', $params = null, $content = null)
{
$app = \JFactory::getApplication();

// Gets and sets timezone offset from site configuration
$tz  = new \DateTimeZone($app->get('offset'));
$now = \JFactory::getDate();
$now->setTimeZone($tz);

$data = $this->_doc;

$url = Uri::getInstance()->toString(array('scheme', 'user', 'pass', 'host', 'port'));
$syndicationURL = \JRoute::_('&format=feed&type=rss');

$title = $data->getTitle();

if ($app->get('sitename_pagetitles', 0) == 1)
{
$title = \JText::sprintf('JPAGETITLE', $app->get('sitename'), $data->getTitle());
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = \JText::sprintf('JPAGETITLE', $data->getTitle(), $app->get('sitename'));
}

$feed_title = htmlspecialchars($title, ENT_COMPAT, 'UTF-8');

$datalink = $data->getLink();

if (preg_match('/[\x80-\xFF]/', $datalink))
{
$datalink = implode('/', array_map('rawurlencode', explode('/', $datalink)));
}

$feed = "<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\n";
$feed .= " <channel>\n";
$feed .= " <title>" . $feed_title . "</title>\n";
$feed .= " <description><![CDATA[" . $data->getDescription(). "]]></description>\n";
$feed .= " <link>" . str_replace(' ', '%20', $url . $datalink). "</link>\n";
$feed .= " <lastBuildDate>" . htmlspecialchars($now->toRFC822(true), ENT_COMPAT, 'UTF-8'). "</lastBuildDate>\n";
$feed .= " <generator>" . $data->getGenerator(). "</generator>\n";
$feed .= " <atom:link rel=\"self\" type=\"application/rss+xml\" href=\"" . str_replace(' ', '%20', $url . $syndicationURL). "\"/>\n";

if ($data->image != null)
{
$feed .= " <image>\n";
$feed .= " <url>" . $data->image->url . "</url>\n";
$feed .= " <title>" . htmlspecialchars($data->image->title, ENT_COMPAT, 'UTF-8'). "</title>\n";
$feed .= " <link>" . str_replace(' ', '%20', $data->image->link). "</link>\n";

if ($data->image->width != '')
{
$feed .= " <width>" . $data->image->width . "</width>\n";
}

if ($data->image->height != '')
{
$feed .= " <height>" . $data->image->height . "</height>\n";
}

if ($data->image->description != '')
{
$feed .= " <description><![CDATA[" . $data->image->description . "]]></description>\n";
}

$feed .= " </image>\n";
}

if ($data->getLanguage()!== '')
{
$feed .= " <language>" . $data->getLanguage(). "</language>\n";
}

if ($data->copyright != '')
{
$feed .= " <copyright>" . htmlspecialchars($data->copyright, ENT_COMPAT, 'UTF-8'). "</copyright>\n";
}

if ($data->editorEmail != '')
{
$feed .= " <managingEditor>" . htmlspecialchars($data->editorEmail, ENT_COMPAT, 'UTF-8'). ' ('
. htmlspecialchars($data->editor, ENT_COMPAT, 'UTF-8'). ")</managingEditor>\n";
}

if ($data->webmaster != '')
{
$feed .= " <webMaster>" . htmlspecialchars($data->webmaster, ENT_COMPAT, 'UTF-8'). "</webMaster>\n";
}

if ($data->pubDate != '')
{
$pubDate = \JFactory::getDate($data->pubDate);
$pubDate->setTimeZone($tz);
$feed .= " <pubDate>" . htmlspecialchars($pubDate->toRFC822(true), ENT_COMPAT, 'UTF-8'). "</pubDate>\n";
}

if (!empty($data->category))
{
if (is_array($data->category))
{
foreach ($data->category as $cat)
{
$feed .= " <category>" . htmlspecialchars($cat, ENT_COMPAT, 'UTF-8'). "</category>\n";
}
}
else
{
$feed .= " <category>" . htmlspecialchars($data->category, ENT_COMPAT, 'UTF-8'). "</category>\n";
}
}

if ($data->docs != '')
{
$feed .= " <docs>" . htmlspecialchars($data->docs, ENT_COMPAT, 'UTF-8'). "</docs>\n";
}

if ($data->ttl != '')
{
$feed .= " <ttl>" . htmlspecialchars($data->ttl, ENT_COMPAT, 'UTF-8'). "</ttl>\n";
}

if ($data->rating != '')
{
$feed .= " <rating>" . htmlspecialchars($data->rating, ENT_COMPAT, 'UTF-8'). "</rating>\n";
}

if ($data->skipHours != '')
{
$feed .= " <skipHours>" . htmlspecialchars($data->skipHours, ENT_COMPAT, 'UTF-8'). "</skipHours>\n";
}

if ($data->skipDays != '')
{
$feed .= " <skipDays>" . htmlspecialchars($data->skipDays, ENT_COMPAT, 'UTF-8'). "</skipDays>\n";
}

for ($i = 0, $count = count($data->items); $i < $count; $i++)
{
$itemlink = $data->items[$i]->link;

if (preg_match('/[\x80-\xFF]/', $itemlink))
{
$itemlink = implode('/', array_map('rawurlencode', explode('/', $itemlink)));
}

if ((strpos($itemlink, 'http://') === false) && (strpos($itemlink, 'https://') === false))
{
$itemlink = str_replace(' ', '%20', $url . $itemlink);
}

$feed .= " <item>\n";
$feed .= " <title>" . htmlspecialchars(strip_tags($data->items[$i]->title), ENT_COMPAT, 'UTF-8'). "</title>\n";
$feed .= " <link>" . str_replace(' ', '%20', $itemlink). "</link>\n";

if (empty($data->items[$i]->guid))
{
$feed .= " <guid isPermaLink=\"true\">" . str_replace(' ', '%20', $itemlink). "</guid>\n";
}
else
{
$feed .= " <guid isPermaLink=\"false\">" . htmlspecialchars($data->items[$i]->guid, ENT_COMPAT, 'UTF-8'). "</guid>\n";
}


// Яндекс
$feed .= " <yandex:full-text><![CDATA[" . $this->_relToAbs($data->items[$i]->description). "]]></yandex:full-text>\n";

// конец Яндекс

if ($data->items[$i]->authorEmail != '')
{
$feed .= ' <author>'
. htmlspecialchars($data->items[$i]->authorEmail . ' (' . $data->items[$i]->author . ')', ENT_COMPAT, 'UTF-8'). "</author>\n";
}

/*
* @todo: On hold
* if ($data->items[$i]->source!='')
* {
*   $data.= " <source>" . htmlspecialchars($data->items[$i]->source, ENT_COMPAT, 'UTF-8'). "</source>\n";
* }
*/

if (empty($data->items[$i]->category) === false)
{
if (is_array($data->items[$i]->category))
{
foreach ($data->items[$i]->category as $cat)
{
$feed .= " <category>" . htmlspecialchars($cat, ENT_COMPAT, 'UTF-8'). "</category>\n";
}
}
else
{
$feed .= " <category>" . htmlspecialchars($data->items[$i]->category, ENT_COMPAT, 'UTF-8'). "</category>\n";
}
}

if ($data->items[$i]->comments != '')
{
$feed .= " <comments>" . htmlspecialchars($data->items[$i]->comments, ENT_COMPAT, 'UTF-8'). "</comments>\n";
}

if ($data->items[$i]->date != '')
{
$itemDate = \JFactory::getDate($data->items[$i]->date);
$itemDate->setTimeZone($tz);
$feed .= " <pubDate>" . htmlspecialchars($itemDate->toRFC822(true), ENT_COMPAT, 'UTF-8'). "</pubDate>\n";
}

if ($data->items[$i]->enclosure != null)
{
$feed .= " <enclosure url=\"";
$feed .= $data->items[$i]->enclosure->url;
$feed .= "\" length=\"";
$feed .= $data->items[$i]->enclosure->length;
$feed .= "\" type=\"";
$feed .= $data->items[$i]->enclosure->type;
$feed .= "\"/>\n";
}

$feed .= " </item>\n";
}

$feed .= " </channel>\n";
$feed .= "</rss>\n";

return $feed;
}
}
« Последнее редактирование: 09.05.2019, 01:16:28 от adex »
*

alexey711

  • Захожу иногда
  • 66
  • 0 / 0
Re: rss, pubDate - Проблема с yandex
« Ответ #11 : 10.05.2019, 08:38:49 »
У меня была такая проблема, в самом файле который у вас RSS формирует, к общему времени можно накинуть пару часов, но это если с общим временем на сайте не ковыряться.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема ssl сертефиката

Автор kirill`1

Ответов: 2
Просмотров: 110
Последний ответ 05.07.2019, 16:19:45
от Kuroschup
Проблема с кешем в Joomla 3

Автор TIGRA

Ответов: 3
Просмотров: 88
Последний ответ 04.07.2019, 16:48:14
от TIGRA
Проблема с текстом

Автор kirill`1

Ответов: 2
Просмотров: 117
Последний ответ 22.06.2019, 14:37:32
от kirill`1
Проблема с загрузкой async при валидации страниц

Автор Stasweb

Ответов: 46
Просмотров: 481
Последний ответ 06.06.2019, 14:20:33
от sivers
Проблема с index.php

Автор rus3333

Ответов: 2
Просмотров: 134
Последний ответ 04.05.2019, 13:53:04
от rus3333