RSSページにリンク型の各記事タイトルがあるが、記事によっては別ウィンドウが開くようにしたい

質問全般・改善要望
返信する
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

RSSページにリンク型の各記事タイトルがあるが、記事によっては別ウィンドウが開くようにしたい

投稿記事 by epirock »

-----
ご利用のサーバ: CPI ZZプラン、ACEプラン
MODXのバージョン: Evolution 1.0.5J-r7 & r5
PHPのバージョン: PHP 5.3.6 & PHP 5.2.8
MySQLのバージョン: MySQL5.0.90
ブラウザ: IE9、IE8、Opera11.64、Firefox 8
-----

お世話になっております。
Dittoを使って最新ニュースの投稿をおこなっております。
ニュースの内容によっては記事ページは無くてウェブリンクにして、単に外部URLへの別ウィンドウ表示リンクだけの場合もあります。
記事を書く必要が無い場合です。
この場合のリンクを別ウィンドウで表示させるやり方は、以前本フォーラムの方々にご親身なご助言によって完成させることができたのですが、
feed.rssに表示されるリンクの別ウィンドウ処理を忘れておりました。

こちらにも本機能を付けたいのですが、.feed.rssに
[+type:別窓+]
を仕込むファイル、場所が探してもわからない状況です。
通常のHTMLソースに仕込んでいるのは以下のソースのチャンクをつくって元ファイルから呼び出しているのですが、

コード: 全て選択

<tr>
	<th>■ [+date+]</th>
	<td><a href="[+url+]" [+type:別窓+]>[+longtitle+]</a></td>
</tr>
feed.rssの場合の該当ファイルがわからないでおります。

どこに仕込むファイルがあるでしょうか?

MODXインストールして最初から存在していたfeed.rssである「[(site_name)] RSSフィード」の編集画面見ると、
「使用テンプレート」の欄は「(blank)」となっています。
そして本文には

コード: 全て選択

[[Ditto? &parents=`16` &format=`rss` &display=`20` &total=`20` &removeChunk=`Comments` &dateSource=`editedon`]]
と記述してあります。でもここにPHXを呼び出す「[+type:別窓+]」を記述するわけにはいきませんし、かといって呼び出すテンプレート名の記述も見当たりませんし・・・。

何卒宜しくお願い申し上げます。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: RSSページにリンク型の各記事タイトルがあるが、記事によっては別ウィンドウが開くようにしたい

投稿記事 by yama »

assets/snippets/ditto/formats/rss.format.inc.phpをmyrss.format.inc.phpなどの名前でコピーしたうえで内部を必要に応じて変更し、&format=`myrss`という形で指定するとよいかもしれません
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

Re: RSSページにリンク型の各記事タイトルがあるが、記事によっては別ウィンドウが開くようにしたい

投稿記事 by epirock »

yama様、ご親切にありがとうございます、本当に。

早速試してみました。
ファイルを複製し、そのファイル内の、

$rss_tpl = <<<TPL

の欄のところの<link>タグの箇所を、

コード: 全て選択

<link><![CDATA[
<a href="[(site_url)][~[+id+]~]" [+type:blankwdw+]></a>
]]></link>

それと、
<link><![CDATA[
<a href="[+url+]" [+type:blankwdw+]>&nbsp;</a>
]]></link>

とやってみましたが、リンクをクリックすると別ウィンドウにならず、
かつ、404ページが開きました。
ソースを見ると、なぜか、
</a>
が抜けていました。

そして、URLを見ると、

コード: 全て選択

http://www.mysite.com//%3Ca%20href=%22http://www.mysite.com/news/48.html%22%20target=%22_blank%22%3E&nbsp;%3C/a%3E
と出ていました。
どこをドジ踏んでますでしょうか(汗;
返信する