OCN光で最大124,800円おトク!

すいません。MT、RSS初心者です。
MT4で作成したブログ記事を、同サーバー内のhtmlにRSSで差込表示させたいのですが、やり方がわかりません。。。

現在使用しているRSSは、大黒屋本舗さんのjsRSS++ v3.15です。
何とかフィードは完了したようですが、
「テンプレートファイルがありません」と出てしまいます。
テンプレートファイル(.tmp)はshift_jisで保存しているのですが、引数の貼り付けを行うブログ側のファイルを間違えている気がします。
MT4で吐き出したhtml、rss.xmlに貼り付けたのですが表示されません。

どなたか教えてくださいませ。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

あ、すみません、私もsafariでしか見てませんでした(^^;)


「”」が「"」になってるので、それを変換しないといけないということかなと。

if($HTMLTAG eq 'cut')
{
$dsc =~ s/<[^>]*>//g;
$ttl =~ s/<[^>]*>//g;
}
elsif($HTMLTAG eq 'off')
{
$dsc =~ s/&/&amp;/g ;
$dsc =~ s/</&lt;/g ;
$dsc =~ s/>/&gt;/g ;
$ttl =~ s/&/&amp;/g ;
$ttl =~ s/</&lt;/g ;
$ttl =~ s/>/&gt;/g ;
}

この次に下記を入れてみたらどうでしょう。
一応IE6、Safari、Firefoxで見てみました。

else
{
$dsc =~ s/&amp;/&/g ;
$dsc =~ s/&lt;/</g ;
$dsc =~ s/&gt;/>/g ;
$dsc =~ s/&quot;/"/g ;
$ttl =~ s/&amp;/&/g ;
$ttl =~ s/&lt;/</g ;
$ttl =~ s/&gt;/>/g ;
}

参考
http://n-g-k.seesaa.net/article/70754343.html

私もPerlに詳しいわけではないので、すみませんが自己責任でお願いします(^^;
    • good
    • 0
この回答へのお礼

Muller3さん

こんばんは!ありがとうございます!!感謝感激!なんていい人!
表示されました!(涙)

Perl勉強しないと駄目ですね。。。とほほ。頑張ります~。

お礼日時:2008/09/03 20:00

jsRSS.cgiの中に


「# html のタグを削除する場合は 'cut'、無効化は 'off' に」
とありますが、その設定を空欄にして下さい。
my $HTMLTAG = '';
で画像も表示されると思うのですが。

この回答への補足

Muller3さん

ご連絡ありがとうございます!アドバイス通り修正してみましたが・・・
safariだけ表示されました。。。
firefoxは画像がある事は認識しているようですが、MTからは絶対パスでURLをはき出しているのに表示されません。。。
ieは6も7もビクともしていません。。。

力不足で申し訳ありません。もし何か思い当たる節があれば、アドバイスくださいませ。

補足日時:2008/09/03 17:03
    • good
    • 0

jsRSSのディレクトリ構成はデフォルトのままですか?


jsRSS.cgiのJcode.pmの指定はどうしていますか?(サーバー?MTのextlib?)

rss.xmlには何を貼り付けているのでしょう?
(フィードファイルには何も貼り付ける必要ないです)

CGIの設置と設定がうまくいっていれば、あとは表示させたい場所に以下のようなjavascriptを入れれば反映されると思います。

<script language="JavaScript" src="http://(jsRSS.cgiの絶対URL)/jsRSS.cgi?url=http://(読み込みたいフィードURL)index.xml::temp=(テンプレートファイル名).tmp"></script>

テンプレートファイルを指定しない状態でも「テンプレートファイルがありません」と言われますか?
オプションで表示テンプレートを指定しなければ、またはjsRSS.cgiの「デフォルトのテンプテート」を書き換えていなければ、「jsRSS.tmp」が使われるので確認してみては。tempディレクトリに「jsRSS.tmp」は入っていますか?

そういえば、jsRSSは確かJcode.pmのバージョンが高すぎるとだめだった気がします…。(MTに入っているのは確か低い<0.88なのでjsRSSで使える)
もしサーバーのJcodeを使っているのなら、バージョンも一応確かめてみては。
「サーバーアナライザー」
http://www.futomi.com/library/servana.html
これをサーバーにアップしてcgiにアクセスすると、サーバーの情報がわかります。

この回答への補足

Muller3さん

ありがとうございます!アドバイス通り、rss.xmlとjavascriptを修正したところ、表示しました!
しかし別の問題が起こっていまして、MTのブログで書き込んだ文章は表示されるのですが、添付している画像が#Description#の中に表示されません。。。
別の引数をつけなければならないのでしょうか?

何度もすいません。もしよければ、ご連絡ください。

補足日時:2008/09/03 11:59
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QMovable Typeで作成した新着情報をRSSリーダーに配信したい

Movable Type3.35をサーバにインストールしました。
ここで作成した新着情報を自分の使用しているGooRSSリーダーV3.5に配信するテストを行いたいのですが、どのようにしたらよろしいのでしょうか?

リーダーでブックマークしていると新着時に表示されたりするのでしょうか?

仕組みがよくわかっておりません。
お詳しい方、よろしくお願いします。

Aベストアンサー

エントリー(記事)は投稿されていますか?
投稿してなければ、「テスト」でも何でもいいのでエントリーを投稿してから、#1の操作を行ってみてください。

それでも「このサイトのRSSフィードを追加できません」と言われたら、MT管理画面テンプレートの「Atom」や「RSS 2.0」をクリックし、右上にある「出力されたページを確認」をクリックして、フィードファイルができているか確認してください。
フィードファイルができていたら、あなたのブログトップページのサイドバーにある「このブログのフィードを取得」リンクのURLをコピーし、
http://reader.goo.ne.jp/ap/manual/3_1.html#1
4項の「RSSサイトの追加」の「RSSのURL」に、コピーしたURLをペーストします(http://(中略)/atom.xmlもしくはindex.xmlとなっていると思います)

でどうでしょうか?

Qatomのフィードをphpで出力したい

よろしくお願い致します。
phpの勉強を最近始めまして、
ブログの更新情報をphpで作ったページに出力させたいと思っています。

<?PHP
require_once("RSS.php");
$rss=new XML_RSS("http://xmlのアドレス?");
$rss->parse();
?>
<h1><?php print(mb_convert_encoding($rss->channel['title'],"EUC-JP","auto")); ?></h1>
<ul>
<?php foreach($rss->items as $item){ ?>
<?PHP print(mb_convert_encoding($item['$title'],"EUC-JP","auto")); ?>
<li>
<a href="<?php print($item['link']); ?>">
<?php print(mb_convert_encoding($item['title'],"EUC-JP","auto")); ?>
</a>
</li>
<?php } ?>
</ul>

こんなスクリプトでrss1.0はタイトルとリンクが上手く表示されるのですが、atomのフィードで表示させようとするとtitleは表示されるのですがlinkが上手く取得できません。

ネットで検索してみたのですが、
通常atomのフィードはMagpieRSS等を利用してrss1.0等に変換したのちに上記のようなスクリプトを利用して表示させるという考え方でよろしいでしょうか?

またatomのフィードをスクリプトで表示させる参考になるおすすめのサイトをご存知でしたらURLを教えていただけますでしょうか?

どうぞ皆様ご指導よろしくお願い致します。

よろしくお願い致します。
phpの勉強を最近始めまして、
ブログの更新情報をphpで作ったページに出力させたいと思っています。

<?PHP
require_once("RSS.php");
$rss=new XML_RSS("http://xmlのアドレス?");
$rss->parse();
?>
<h1><?php print(mb_convert_encoding($rss->channel['title'],"EUC-JP","auto")); ?></h1>
<ul>
<?php foreach($rss->items as $item){ ?>
<?PHP print(mb_convert_encoding($item['$title'],"EUC-JP","auto")); ?>
<li>
<a href="<?php print($item['link']); ?>">...続きを読む

Aベストアンサー

MagpieRSSを使えば、rss1.0、rss2.0、atomなどを気にせずフィードを取得できます。
私はMagpieRSSを使って、以下のような書き方で書いています。

<?php
// MagpieRSSのrss_fetch.incをインクルード
require_once 'rss_fetch.inc';
// URL
$url = "○○";
// フィード取得
$rss = fetch_rss($url);
// ページタイトル
$page_title = mb_convert_encoding($rss->channel['title'], 'EUC-JP', 'UTF-8');
// 記事データ
$data = $rss->items;
for ($i=0; $i<count($data); $i++) {
// 記事1つ1つのタイトルや本文などをエンコード
foreach ($data[$i] as $key => $value) {
$data[$i][$value] = mb_convert_encoding($value, 'EUC-JP', 'UTF-8');
}
}
echo $page_title;
print_r($data);
?>

URLをいろいろと変えてみて、動作確認してみてはいかがでしょう。
MagpieRSSがあまりに便利だったので、他のものは試していません^^;

参考URL:http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS

MagpieRSSを使えば、rss1.0、rss2.0、atomなどを気にせずフィードを取得できます。
私はMagpieRSSを使って、以下のような書き方で書いています。

<?php
// MagpieRSSのrss_fetch.incをインクルード
require_once 'rss_fetch.inc';
// URL
$url = "○○";
// フィード取得
$rss = fetch_rss($url);
// ページタイトル
$page_title = mb_convert_encoding($rss->channel['title'], 'EUC-JP', 'UTF-8');
// 記事データ
$data = $rss->items;
for ($i=0; $i<count($data); $i++) {
// 記事1つ1つの...続きを読む

Qページ移動した場合の、フォームデータの保持

PHP初心者です。

私が作っているPHPのシステムで、ユーザーがフォームデータ入力途中に、他のページに移動すると、「戻る」ボタンなどですぐに戻ってきても、入力したフォームデータが消えてしまいます。

例えば、この「教えてgoo」の「新しい質問をする」のフォームはPHPで生成されていますが、

http://oshiete1.goo.ne.jp/oshiete_new.php3?c=256

途中でちょっと他のページに行っても、(すぐ戻れば?)入力したデータは保持されますよね。

こんなふうにしたいのですが、どうすればよいでしょうか?
「戻る」ボタンで戻ったときに、サーバーから毎回新しいXHTMLをロードしてくるので、入力データがクリアされてしまうのでしょうか?

フォーム入力⇒確認画面⇒「戻る」ボタンで戻るとフォームデータが保持されないということではなく、あくまでフォーム入力中に、ちょっと他のページに行って戻ってくるという設定です。

よろしくお願いします。

Aベストアンサー

原因はセッション関連にありそうですね。
session_cache_limiter()
というのは指定されていますか?
恐らく現状はnocache(ページ内容をキャッシュしない状態)になっているのだと思います。

もし
session_cache_limiter('nocache');
となっていれば、publicもしくはprivateへ変更してみて下さい。
ないようでしたら、session_start()の前に
session_cache_limiter('public');
session_cache_limiter('private');
のどちらかを記述してみて下さい。
publicだと、クライアントマシン、プロキシのどちらもキャッシュを保持しますが、
privateだとクライアントマシンのみキャッシュを保持します。
どちらが良いのかは使い方によると思いますし、
nocacheでないと困る時もありますから。

session_startを削除してしまって良いかどうかは、
他の部分の処理との関連が分からないので何とも言えないです。

一度試してみて下さい。

参考URL:http://jp.php.net/session_cache_limiter

原因はセッション関連にありそうですね。
session_cache_limiter()
というのは指定されていますか?
恐らく現状はnocache(ページ内容をキャッシュしない状態)になっているのだと思います。

もし
session_cache_limiter('nocache');
となっていれば、publicもしくはprivateへ変更してみて下さい。
ないようでしたら、session_start()の前に
session_cache_limiter('public');
session_cache_limiter('private');
のどちらかを記述してみて下さい。
publicだと、クライアントマシン、プロキシのどち...続きを読む

Q背景画像を反転させる方法

背景画像を反転させる方法

いつもお世話になっています。
今、趣味のサイトの再構築に伴い、ネットや本を見ながらHTMLとCSSについて勉強中です。
そこでcssの記述について教えて頂きたいのです。


背景の画像を右下に固定する場合、cssの記述は、

body{
background-image:url("×××.gif");
background-repeat:no-repeat;
background-attachment:fixed;
background-position:right bottom;
}

としますよね?

後、cssで画像を左右反転させる場合は、classでfilter: fliph()を使えばいいとわかりました。

ではこの反転させた画像を背景に使いたい場合、どうすればいいのでしょう?
そもそもそのようなことが可能なのでしょうか?

もし可能でしたら具体的にどのような記述をすればいいのか教えて頂きたいのです。

それとfilterはIE独特の要素と聞いていますが、filter: fliphもそうなのでしょうか?
しかしながらfilter: alphaに関しては

filter: alpha(opacity=70);
-moz-opacity: 0.7;
opacity: 0.7;

と記述すればFirefoxなどでも透明効果が出るようです。

filter: fliphもIE独特の要素ならばfilter: alphaのように他のブラウザでも対応させる方法があるのでしょうか?


長々と書いてしまいましたが、知りたいことを要約すると

1.cssで画像を反転させ、それを背景画像に使うことは可能か否か
  可能ならばどう記述すればよいのか

2.filter: fliphで画像を反転させた場合、IE以外でのブラウザで反映されるか否か
  また反映されないのなら、対応させる方法はあるのかどうか

と言うことです。

1と2、分かる方だけでも結構ですのでよろしくお願いします。

背景画像を反転させる方法

いつもお世話になっています。
今、趣味のサイトの再構築に伴い、ネットや本を見ながらHTMLとCSSについて勉強中です。
そこでcssの記述について教えて頂きたいのです。


背景の画像を右下に固定する場合、cssの記述は、

body{
background-image:url("×××.gif");
background-repeat:no-repeat;
background-attachment:fixed;
background-position:right bottom;
}

としますよね?

後、cssで画像を左右反転させる場合は、classでfilter: fliph()を使えばいいとわかりました。

ではこ...続きを読む

Aベストアンサー

1.否
2.否

対応策は予め反転させた画像を別途作っておく事です。


人気Q&Aランキング