MODxでブログパーツ(PHP)を作る
ねりこそ@ナビのブログのテンプレートだけ本サイトと同じになっていたので、動的に出力されている所がうまく動いてなかった。
なので、天気予報の部分だけブログパーツちっくにしてみた。
weather.jsというページを作って、、とも考えたんだけど、以下の方法は一番簡単だ、ということに気づいた。
まずweather.phpファイルを作成(文字コードEUC-JP)。
<?php mb_internal_encoding("UTF-8"); $url = 'http://weather.livedoor.com/forecast/webservice/rest/v1?city=63&day=today'; $xml = simplexml_load_file($url); $description = mb_strimwidth($xml->description, 0, 100, "..."); $html = 'document.write("東京のお天気: '. mb_convert_encoding($xml->telop, "EUC-JP", "UTF-8") . '");' $html .= 'document.write("<img src=\"'. $xml->image->url . '\" align=\"left\" width\"30\">");'; $html .= 'document.write("<img src=\"http://nerima-kosodate.net/assets/images/0001_arrow.png\">");'; $html .= 'document.write("<a href=\"http://weather.livedoor.com/point/city/995.html\">天気予報 </a><br />");'; $html .= 'document.write("'.mb_convert_encoding($description, "EUC-JP", "UTF-8"). '");'; echo $html; ?>
その後/assets/blogParts/等のフォルダーにアップロード
呼び出したいブログのテンプレートなどに以下のタグを入れる
<script src="http://nerima-kosodate.net/assets/blogParts/weather.php" type="text/javascript">
天気予報のXMLはUTF-8で、ブログの方はEUC-JPなので、
<?php mb_convert_encoding($description, "EUC-JP", "UTF-8"); ?>
しないと文字化けするぽ