メニュー

Home >freoTIPS>SNS連携系TIPS> ニュースプラグインでURL欄にIDを入れただけでサイト内リンクが自動的に貼られるようにする方法

【freoTIPS】【SNS連携系TIPS】ニュースプラグインでURL欄にIDを入れただけでサイト内リンクが自動的に貼られるようにする方法

2012/09/24 20:41|タグ:ニュースプラグイングッジョブ表示 56

当サイトで公開している「ニュースプラグイン」では、URL欄に任意のURLを入れることにより、タイトルにURLが貼られるテンプレートを紹介していますが、テンプレートの書き方を変更することにより、ページIDやエントリーのIDを入力するだけで、自動的に該当ページへリンクを貼ることができるようになります。

[freo/templates/plugins/news/default.html]の20行目を変更します。

<!--{if $plugin_news.url}--><a href="{$plugin_news.url}">{$plugin_news.title}</a>

この部分を

 <!--{if $plugin_news.url}--><a href="{if $plugin_news.url|regex_match:'/^https?\:\/\//'}{$plugin_news.url}{else}{$freo.core.http_file}/{$plugin_news.url}{/if}">{$plugin_news.title}</a>

このように変更すればOKです。
なお、「ニュースプラグイン」ページで紹介しているデフォルト画面・ページ画面でニュースを表示する方法やニュースをブログパーツとして利用する方法を利用されている場合も、上記のように編集を加えれば、同じようにIDを入れただけで自動的にリンクが貼られるようになります。

このようにすると、サイトを別サーバーに移転した時でもサイト内リンクのデッドリンクがなくなるので便利です。

ちなみに↑の意味は、

<!--{もしニュースプラグインのURLの項目に値が入っていたら}--><a href="{もしニュースプラグインのURLの項目がhttp://またはhttps://から始まっていたらここから}{$ニュースプラグインのURLの項目}{そうじゃなければ}{$freo設置URL+index.php}/{$ニュースプラグインのURLの項目}{もしニュースプラグインのURLの項目がhttp://またはhttps://から始まっていたらここまで}">{$ニュースプラグインのタイトルの項目}</a>

こんな感じです。

URLの項目にhttp://~やhttps://~から始まる値でないものが入っていた場合、http://sample.com/freo/index.phpといったfreo設置URLが自動的にリンク先のURLに補填されるので、

エントリー記事をリンクしたい場合は【view/1】などのエントリーID
ページをリンクしたい場合は【page/about】などのページID
プラグイン画面をリンクしたい場合は【contact】などのプラグインID

を入力すれば良いと思います。

ページ移動

関連エントリー

コメント

  • コメントはまだありません。

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

新着コメント

Twitter

サイト内検索

ページ上部へ