外部リンクのRSSフィード

2015年5月19日 at 16:29

ver. 5.6.3.3
外部リンクを含めたページリストでRSSフィードを出力すると、外部リンクのアドレスへもBASE_URLが先頭に付加されて、結果リンク切れとなっているのに気が付きました。

/concrete/block/page_list/tools/blog_rss.phpの44行目

<?php echo BASE_URL.$nh->getLinkToCollection($cobj) ?>

 ↓

<?php
 if(preg_match('/^http/', $nh->getLinkToCollection($cobj))){
  echo $nh->getLinkToCollection($cobj);
 }else{
  echo BASE_URL.$nh->getLinkToCollection($cobj);
 }
?>

と修正してとりあえず解決しましたが、'http'の文字列で始まるかどうかで外部リンクを判断する以外にもっとスマートな方法はあるのでしょうか?

タグ:

Re: 外部リンクのRSSフィード

2015年7月22日 at 15:50
$cobjがisExternalLink()を持っていると思います。
 

Re: 外部リンクのRSSフィード

2015年7月23日 at 7:41
ありがとうございます。
以下のとおり修正しました。

if($cobj->isExternalLink()){
echo $nh->getLinkToCollection($cobj);
}else{
echo BASE_URL.$nh->getLinkToCollection($cobj);
}