Joomla!RSS配信の改造

提供: TeaPot
移動: 案内, 検索

compornents/com_rss/rss.php

// query of frontpage content items
$query = "SELECT a.*, u.name AS author, u.usertype, UNIX_TIMESTAMP( a.created ) AS created_ts, cat.title AS cat_title, sec.title AS section_title"
. "\n FROM #__content AS a"
//. "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id"
. "\n LEFT JOIN #__users AS u ON u.id = a.created_by"	
. "\n LEFT JOIN #__categories AS cat ON cat.id = a.catid"
. "\n LEFT JOIN #__sections AS sec ON sec.id = a.sectionid"
. "\n WHERE a.state = 1"
. "\n AND cat.published = 1"
. "\n AND sec.published = 1"
. "\n AND a.access = 0"
. "\n AND cat.access = 0"
. "\n AND sec.access = 0"
. "\n AND ( a.publish_up = '$nullDate' OR a.publish_up <= '$now' )"
. "\n AND ( a.publish_down = '$nullDate' OR a.publish_down >= '$now' )"
. "\n ORDER BY $orderby"
;

のうち

 . "\n INNER JOIN #__content_frontpage AS f ON f.content_id = a.id"

をコメントアウト

それから、その少し上の

case 'front':
//	 $orderby = 'f.ordering';
$orderby = 'a.ordering';
break;
 
default:
//	 $orderby = 'f.ordering';
$orderby = 'a.ordering';
break;

も上記のように少し修正。

さて、実際にRSSを取得してみると、未来の時刻になっています。8時間ほど進んでいます。RSSのソースを見るとGMTからの時差が+1時間になっています。 これは、include/feedcreator.class.phpのファイル内で、

define("TIME_ZONE","+01:00");

と定義されているせいでした。

もちろんこれは+09:00と定義し直すことで解決です。

個人用ツール
名前空間

変種
操作
案内
情報
ツール