2009年4月23日木曜日

人気ヘアケアブログランキングBLOGEERクラシックテンプレート 最近のコメント取り出し3

BLOGGER クラシックテンプレート直近コメントの取り出し
BLOGEERクラシックテンプレート 最近のコメント取り出し2
コメントや最近のエントリーをjavascriptでの取出しを記載していましたが、
いつの間にか、json形式で引っ張ってくるデータの順序が変わっていて、でたらめ なリンク先を取り出していたので修正しました。

(いつからやってんやろ・・・汗ゞ)


function commentcallback(obj) {
var data = obj;
var InsertHTML = '<h2 class="sidebar-title">直近のコメント5件<\/h2>';
InsertHTML += '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
//var anchor=data.feed.entry[i].link[0].href.replace(/(\?[\w]+\=[0-9]+)/, "");
var anchor=data.feed.entry[i].link[2].href.replace(/(\?[\w]+\=[0-9]+)/, "");
InsertHTML+= ('<li><a href="'+anchor+'">');
//InsertHTML+= (data.feed.entry[i].summary.$t.substring(0,24));if (data.feed.entry[i].summary.$t.length > 24) {InsertHTML+= ('...');}
InsertHTML+= (data.feed.entry[i].title.$t.substring(0,22));if (data.feed.entry[i].title.$t.length > 22) {InsertHTML+= ('...');}
InsertHTML+= ('<\/a><br \/>');
InsertHTML+= ('['+data.feed.entry[i].published.$t.substring(2,10)+']');
InsertHTML+= (' by '+data.feed.entry[i].author[0].name.$t);
InsertHTML+= ('<\/li>');
}
InsertHTML += '<\/ul>';
document.getElementById('commentcallback').innerHTML = InsertHTML;
}

function newentry(obj) {
var data = obj;
var InsertHTML = ('<h2 class="sidebar-title">最近のエントリー10件<\/h2>');
InsertHTML += '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
InsertHTML+= ('<li>');
//InsertHTML+= ('<a href="'+data.feed.entry[i].link[0].href+'"><b>');
InsertHTML+= ('<a href="'+data.feed.entry[i].link[4].href+'"><b>');
InsertHTML+= (data.feed.entry[i].title.$t.substring(0,22));if (data.feed.entry[i].title.$t.length > 22) {InsertHTML+= ('...');}
InsertHTML+= ('<\/b><\/a><br \/>');
InsertHTML+= ('['+data.feed.entry[i].published.$t.substring(2,10)+']');
InsertHTML+= (data.feed.entry[i].summary.$t.substring(0,36));if (data.feed.entry[i].summary.$t.length > 36) {InsertHTML+= ('...');}
InsertHTML+= ('<\/li>');
}
InsertHTML += '<\/ul>';
document.getElementById('newentry').innerHTML = InsertHTML;
}

ラベル: ,

2008年6月14日土曜日

人気ヘアケアブログランキングBLOGGER プログリスト追加でbloggeのFTP公開サイトのアイコン表示


BLOGGERのカスタマイズでプログリストを追加したとき、

BLOGGERでのFTP公開サイトを取り込んだ場合のアイコン表示が当店の場合、

http://blog.peaks-jp.com/index.php/favicon.ico
と勝手に指定され無効なファイルとなってしまいます。

これの解決は、
.htaccessで
RedirectMatch ^/(.*)/favicon.ico /favicon.ico


http://blog.peaks-jp.com/index.php/favicon.ico へのアクセスが
リダイレクトされ下記のようになり
http://blog.peaks-jp.com/favicon.ico

めでたく表示されます。(画像のハサミアイコン)

ラベル: ,

人気ヘアケアブログランキングBLOGGER phpでページ内容取り出し

ヘアケア通販のページと美容室のページの更新案内をブログ形式に改めました。

当店の peaks-jp.com のサブドメインを使わず

http://peaksclub.blogspot.com/
ピークスクラブ 更新情報




http://atelierhairpeaks.blogspot.com/
アトリエヘアピークス 更新情報




と、BLOGGERで用意されているblogspotのサブドメインを使いました。
SEO的にも外部リンクの方がいいのかな?という姑息な手段です・・・
これらのページから左画像のような最新の更新案内をphpでの取り出し方です。




<?php
$c=1;
$context = stream_context_create(array('http' => array(
'method' => 'GET',
'header' => 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
)));
$url = "http://peaksclub.blogspot.com/";#取り出すBLOG
#$data = file_get_contents($url, false, $context); #ブラウザの指定などする場合はこんな感じ
$data = file_get_contents($url);

preg_match_all("/(<([h2|p]+)[^>]*>)(.*)(<\/\\2>)/", $data, $matches);#該当タグだけ取り出し
for ($i=0; $i< count($matches[0]); $i++) {
if($c>6){break;}#5件だけ取り出し
if(strstr ($matches[0][$i], 'date-header')){list($year, $month, $day) = split("/", $matches[3][$i]);$Date = sprintf("%04d年%02d月%02d日", $year, $month, $day);echo "<dt>" . $Date . "</dt>\n";}#class属性のdate-headerを取り出し日付の書式変更
if(strstr ($matches[0][$i], '<p>')){ echo "<dd>" . $matches[3][$i] . " </dd>\n";$c++;}
}#本文取り出し
?>



上のスクリプトはプログのページソースを見て取り出したいタグ内で括られていることが大事で改行されていると取り出せない単純な使用で
ウイジットテンプレートの<data:post.body/>が下記のように<p>で括る必要があり
<p><data:post.body/></p>。

又、日付の書式がyyyy/mm/ddのようにスラッシユできられている場合に書式も変更されて修正無く使えます。(スクリプトはutf8で製作)

ラベル: ,

2008年5月30日金曜日

人気ヘアケアブログランキングあし@にやられた 広告挿入位置


今日、ブログをみたら、あし@の新しい広告?がフラッシュで入っていたけど、
真ん中(左のキャプチャ画像)に・・・邪魔やって・・・・

他の方のブログはちゃんと端の方に表示されているのに・・・
とりあえず対策として、あし@のバナーをフレーム内で表示していたのを、プログ内のテンプレートに戻してみたが、効果なしで、もうちょっと考えよう・・・

で、<script type="text/Javascript" src="http://ashia.to/client/js.php?id=40151&enc=utf"></script>
ってあし@のプログラムを呼び出す位置にフラッシュが挿入されているのがわかったのでBLOGGERのテンプレートで位置を変えてとりあえず完了しました。
あせった・・^_^;

ラベル: ,

2008年5月25日日曜日

人気ヘアケアブログランキングBLOGEERクラシックテンプレート 最近のコメント取り出し2

BLOGGER クラシックテンプレート直近コメントの取り出し
<script type="text/javascript" src="http://www.blogger.com/feeds/8216413096516145501/comments/summary
?alt=json-in-script&callback=commentcallback&max-results=5"></script>
でjson形式でデータを呼び出しているが、

data.feed.entry[i].link[0].href の値が
http://blog.peaks-jp.com/2008/02/javascript.html
?showComment=1211451300000#c4957769072170915326
となるので、赤字の部分は必要無いので(多分?)
下記の赤字のように修正して削除しました。これで多少すっきりしたかな・・・

<div id="commentcallback"></div>
<script type="text/javascript"><!--
function commentcallback(obj) {
var data = obj;
var InsertHTML = '<h2 class="sidebar-title">直近のコメント5件<\/h2>';
InsertHTML += '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
var anchor=data.feed.entry[i].link[0].href.replace(/(\?[\w]+\=[0-9]+)/, "");
InsertHTML+= ('<li><a href="'+anchor+'">');
InsertHTML+= (data.feed.entry[i].summary.$t.substring(0,24));if (data.feed.entry[i].summary.$t.length > 24) {InsertHTML+= ('...');}
InsertHTML+= ('<\/a><br \/>');
InsertHTML+= ('['+data.feed.entry[i].published.$t.substring(2,10)+']');
InsertHTML+= (' by '+data.feed.entry[i].author[0].name.$t);
InsertHTML+= ('<\/li>');
}
InsertHTML += '<\/ul>';
document.getElementById('commentcallback').innerHTML = InsertHTML;
}
--></script>
<script type="text/javascript" src="http://www.blogger.com/feeds/8216413096516145501/comments/summary?alt=json-in-script&callback=commentcallback&max-results=5"></script>

ラベル: ,

人気ヘアケアブログランキングBLOGEERクラシックテンプレート 最近の投稿の内容表示

bloggerのクラシックテンプレートでは下記のように最近の投稿を10件表示するようになっているが、(クリボウの Blogger Tips: 「最近の投稿」リストあれこれが大変参考になります。)

<h2 class="sidebar-title">Previous</h2>
<ul id="recently">
<BloggerPreviousItems>
<li><a href="<$BlogItemPermalinkURL$>"><$BlogPreviousItemTitle$></a></li>
</BloggerPreviousItems>
</ul>

これを最近のコメントを表示するBLOGGER クラシックテンプレート直近コメントの取り出し見たいな感じでjavascriptを使い、最近の投稿リストからタイトルと本文の一部を取り出すスクリプト。


<div id="newentry"></div>
<script type="text/javascript"><!--
function newentry(obj) {
var data = obj;
var InsertHTML = ('<h2 class="sidebar-title">最近のエントリー10件<\/h2>');
InsertHTML += '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
InsertHTML+= ('<li>');
InsertHTML+= ('<a href="'+data.feed.entry[i].link[0].href+'"><b>');
InsertHTML+= (data.feed.entry[i].title.$t.substring(0,28));
InsertHTML+= ('<\/b><\/a><br \/>');
InsertHTML+= ('['+data.feed.entry[i].published.$t.substring(2,10)+']');
InsertHTML+= (data.feed.entry[i].summary.$t.substring(0,39));if (data.feed.entry[i].summary.$t.length > 39) {InsertHTML+= ('...');}//切り取り文字数を40以上にするとie7で止まります。
InsertHTML+= ('<\/li>');
}
InsertHTML += '<\/ul>';
document.getElementById('newentry').innerHTML = InsertHTML;
}
--></script>
<script src="http://www.blogger.com/feeds/自分のblogid/posts/summary?alt=json-in-script&callback=newentry&start-index=1&max-results=10" type="text/javascript"></script>

とまぁいつまでたってもテンプレートの修正ばかりしているのは、ただ単にサブドメインの使えるサーバーを借りていて、サブドメイン blog.peaks-jp.com で運用したいためだけですけど・・・後は、バックリンク関係の見直しと、前のページ、後ろページのリンクの製作と、タグリストでのページ表示時にタグ名を表示するっていうのを作ってみようと思ってます。

ラベル: ,

  1. どういうわけかIE7では1件しか表示できていないようです。FFは10件表示されているんですが・・・・現在調査中・・・

  2. 原因は
    data.feed.entry[i].summary.$t.substring(0,40)
    での切り取り文字数がどういうわけか40では
    だめで39で動いている

    何でだ?
    ファイアフォックスは動くねけど・・・

2008年5月23日金曜日

人気ヘアケアブログランキングBLOGEERクラシックテンプレート リンクを製作

BLOGEEのテンプレートネタで又ひとつ。
投稿者の表示がposted by 投稿者 at 時間 となるあたりのpost-footerの改良
個別エントリー(BLOGGERではitem)毎のリンクの表示とリンクのアンカー製作を下記のようにするとつくれます。
blogID=8216413096516145501はもちろん自分のIDで・・・



<p class="post-footer"><em>posted by <$BlogItemAuthorNickname$></em>
<MainOrArchivePage><BlogItemCommentsEnabled><BlogItemBacklinksEnabled>
<script type="text/Javascript"><!--
if(<$BlogItemCommentCount$> == 0){document.write("<a class=\"comment-link\" href=<$BlogItemCommentCreate$> onclick=\"window.open('http://www.blogger.com/comment.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>&isPopup=true','bloggerPopup','toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=1,width=400,height=450');return false;\"> 一言どうぞ <\/a>");}else{document.write("<a href=javascript:togglecomments('c<$BlogItemNumber$>')><font style='color:red'><$BlogItemCommentCount$> 件のコメントを読む<\/font><\/a>");}
//--></script>
<noscript><a class="comment-link" href="http://www.blogger.com/comment.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>&isPopup=true"><span style="text-transform:lowercase"><$BlogItemCommentCount$> 件のコメント</span></a></noscript>
</BlogItemBacklinksEnabled></BlogItemCommentsEnabled></MainOrArchivePage>

<span class="item-action"><a href="http://www.blogger.com/email-post.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>" title="メール投稿"><img class="icon-action" alt="" src="http://www.blogger.com:80/img/icon18_email.gif"/></a></span><span class="item-control blog-admin pid-860749625"><a style="border:none;" href="http://www.blogger.com/post-edit.g?blogID=8216413096516145501&postID=<$BlogItemNumber$>" title="投稿を編集"><img class="icon-action" alt="" src="http://www.blogger.com:80/img/icon18_edit_allbkg.gif" /> </a></span><br />
<em>このエントリーのURL</em><a href="<$BlogItemPermalinkUrl$>" title="permanent link"><$BlogItemPermalinkUrl$></a>
<script type="text/Javascript"><!--
document.write(" [<a class=\"comment-link\" href=\"javascript:BlogThis('" + escape('<$BlogItemPermalinkUrl$>')+"','" + escape('<$BlogItemTitle$>') + "');\" id=\"b-backlink\">リンクを作成<\/a> ]");
//--></script>
</p>


<head>~</head>の間にjavascriptを下記のように書き込んで

<script type="text/Javascript"><!--
function BlogThis(PermalinkUrl,ItemTitle) {
Q=''; x=document; y=window;if(x.selection) {Q=x.selection.createRange().text;} else if (y.getSelection) {Q=y.getSelection();} else if (x.getSelection) {Q=x.getSelection();}
popw = y.open('http://www.blogger.com/blog-this.g?t=' + escape(Q) + '&u=' + PermalinkUrl + '&n=' + ItemTitle,'bloggerForm','scrollbars=no,width=475,height=300,top=175,left=75,status=yes,resizable=yes');void(0);}
//--></script>

ラベル:

2008年5月16日金曜日

人気ヘアケアブログランキングBLOGGER タグリスト(クラシックテンプレート)

BLOGGERでFTP公開サイト用のタググラウンドのつづき。
以前BLOGGER FTP公開サイトのラベルでの分類方法に書いたが、
今回はタグの項目数も取り出してみた。


<?php
$dir = 'サーバーのlavelsのパス';#ラベルのパス
$url = 'http://blog.peaks-jp.com/labels/';
$labellist ="<h2 class='sidebar-title'>".mb_convert_encoding("ラベルリスト", "EUC-JP", "sjis")."</h2><ul class='archive-list'>";

if($handle = opendir($dir)) { #ディレクトリハンドルを獲得
while(false !== $file = readdir($handle)){ #ファイル名獲得
list($filename,$html) = split("\.", $file); #ファイル名と拡張子を分割
if(!$filename){continue;}
$filename = str_replace("__", "/", $filename); #ファイル名にするためbase64で/が__に変更されているのを戻す
$labellist .="<li><a href='$url$file'>";
if (preg_match("/=([A-F0-9]{2})/",$filename)) {
# $labellist .= quoted_printable_decode ($filename); #quoted_printable_decodeでローマ字+日本語に変換
$labellist .= mb_convert_encoding(quoted_printable_decode ($filename), "EUC-JP", "UTF-8") ;#BLOGで設定しているcharsetに合わす場合
}elseif(mb_detect_encoding(base64_decode($filename)) == "UTF-8"){
# $labellist .= base64_decode($filename) ; #encodingがUTF-8ならbase64_decodeで日本語変換
$labellist .= mb_convert_encoding(base64_decode($filename), "EUC-JP", "UTF-8") ; #BLOGで設定しているcharsetに合わす場合
}else{
$labellist .= $filename ; #ローマ字のファイル名はそのまま表示
}
$labelhtml = file_get_contents("$dir$file");
if (preg_match_all( "/<h3 class=\"post-title\">(.*)<\/h3>/i",$labelhtml,$titlename)){
$labellist .="(".count($titlename[0]).")<br />";
# foreach( $titlename[1] as $val2){$labellist .="$val2<br />";}
}
$labellist.="</a></li>";
}
}
closedir($handle); #ディレクトリハンドルを閉じる
$labellist .="</ul>";
header ("Content-Type: text/html; charset=EUC-JP");#javascriptとしてEUC-JPで表示する(環境に合わす必要があります)
echo "document.write(\"";
echo $labellist;
echo "\");";
?>

という感じで変数に代入しjavascriptで書き出します。

Labelグループのフォルダにあるファイルを1件ずつ取り出しファイルを読み込んで
テンプレートで使われる<h3 class=\"post-title\">(.*)<\/h3>を探して件数を数えています。
$dir = 'サーバーのlavelsのパス' の指定をアーカイブに変えたらアーカイブも取り出せます。
$titlename[1]にすると、タイトルだけの取り出しもできますよ

ラベル: , ,

2008年5月9日金曜日

人気ヘアケアブログランキングどうにか復活(テンプレ)2

復活したと思っていたが、z-indexの指定で、メインコンテンツが一部背面にかくれ、選択できなくなっていたのでどうにか修正。

今回の失敗はヘアケア製品の人気ランキングの表示にifreamを使っているが、
これを選択した時にオンロードでサイズを可変させるため、メニューとして表示する項目を横長にしてメインのコンテンツにかぶせて見やすくしようとしていたが、結局は、オンロードでもサイズがうまく拾えなかったので(IEで)かぶせるのをやめ普通に表示するようにした。

であとは、又サイズの細かい修正を時間ができたときにやっておこう・・・

ある技術者の備忘録 » iframeのサイズを動的に変えるにはを参考に少し変えたが
うまく動かなかったスクリプト↓

<script type="text/javascript">
window.onload=function(){
if (window.parent) {
if(document.documentElement){ var body = document.documentElement;}
else if(document.body){ var body = document.body;}
if(body){ var width = body.scrollWidth;
var height = body.scrollHeight;

var iframe = WINDOW.parent.document.getElementById("categoryrank");
iframe.style.width = width + "px";
iframe.style.height = height + "px";
iframe.scrolling = "no";
}}
}
</script>

ラベル: ,

  1. 個別(bloggerのitemページ)でコメントが表示されていなかった・・・これでどうにかテンプレ復活か?
    後は、新BLOGGERでやっていることをFTP公開サイトでもやってやろうともくろんでいます。(ただのジコマンですが・・・)

2008年5月7日水曜日

人気ヘアケアブログランキングどうにか復活(テンプレ)

先日つぶれてしまったテンプレートをどうにか見れるところまで復活させた。
まだ、IEでの表示時にメインコンテンツの横幅が%でひらえず、pxで指定しているが
そのうち何とかなるか?
(どっかで邪魔をしているのだがどこかがつかめていない・・・)

後、FFとIE6,7でしかチェックしていないがどうだろう・・・
メンテを怠っているうちにプログランキング40番代から70番代へ降下・・・

ラベル: ,

2008年4月30日水曜日

人気ヘアケアブログランキングデザインぼろぼろ

今日はマイッタ・・・
ブログにgoogleAPIを組み込もうとして、手間取っているうちに使ってたテンプレートを上書き保存して
修復出来なくなった。(もちろんバックアップなんてしていません・)

サンプルで用意されていたのをそのまま使い、とりあえずブログパーツも使ってたのを入れたけどまた
デザインがグチャグチャにナってもた。
4時間もかかったけどもう寝る。

又、一から修正せんといかんな~(*_*;

ラベル:

2008年4月23日水曜日

人気ヘアケアブログランキングBLOGGER $I18N$LinksToThisPost$(特定クラシックテンプレートのエラー)

以前から気になっていたのが、$I18N$LinksToThisPost というクラシックテンプレートで使われいる関数が何かわからなかったけど、

$I18N$LinksToThisPost → $I18NLinksToThisPost$ の間違いのようだ。

グーグルで検索すると
$I18N$LinksToThisPost の検索結果 約 123,000 件(world)
とてでくるが、多分すべて同じテンプレートだとおもう。

手順は
ログイン後テンプレートを開き $I18N$LinksToThisPost を探し出し
$I18NLinksToThisPost$に置き換えて プレビューで確認後 テンプレートの変更内容を保存 して 今すぐ投稿を公開 で完了です。

とりあえずグーグルにも報告はしたけど対処してくれるかどうかは・・・

ラベル:

  1. 前から気になって他のですが、そういうことだったんですね。自分の blog も修正しておきました。感謝!

  2. 私もずっと悩んでいて、テンプレートを走査してやっとわかりました。
    日本語対応が、$I18NLinksToThisPost$
    で英語の場合は$LinksToThisPost$のようです。

  3. 追伸、先日までisseiさんと同じテンプレートだったのですが、保存に失敗して、現在のタイプになっています。

2008年4月22日火曜日

人気ヘアケアブログランキングBLOGGER クラシックテンプレート直近コメントの取り出し

BLOGGERのFTP公開typeのクラシックテンプーレートのカスタマイズ。

最近のコメント問題を参考にJSONを使いJAVASCRIPTでFTP公開サイトでもサイドバーの好きな位置にテンプレートに書き込めば表示されます。

下記の場合は5件のみ表示し、日付を[yy-mm-dd]の表示文字数にしています。

<h2 class="sidebar-title">直近のコメント5件</h2>
<div id="recent_comment_list"></div>
<script type="text/javascript"><!--
function recent_comment_callback(obj) {
var data = obj;var statusHTML = '<ul>';
for (var i=0; i<data.feed.entry.length; i++) {
statusHTML+= ('<li><a href="'+data.feed.entry[i].link[0].href+'">');
statusHTML+= (data.feed.entry[i].summary.$t.substring(0,32));
if (data.feed.entry[i].summary.$t.length > 32) {
statusHTML+= ('...');
}
statusHTML+= ('<\/a><br \/>');
statusHTML+= ('<span class="item-date">['+data.feed.entry[i].published.$t.substring(2,10)+']<\/span>');
statusHTML+= ('by<span class="item-author"> '+data.feed.entry[i].author[0].name.$t+'<\/span>');
statusHTML+= ('<\/li>');
}
statusHTML += '<\/ul>';
document.getElementById('recent_comment_list').innerHTML = statusHTML;
}
--></script>
<script type="text/javascript" src="http://www.blogger.com/feeds/自分のblogID/comments/summary?alt=json-in-script&callback=recent_comment_callback&max-results=5"></script>

ラベル: ,

  1. いつの間にか、jsonデータが変わっていたのでBLOGEERクラシックテンプレート 最近のコメント取り出し3に最新版のせています。

2008年4月18日金曜日

人気ヘアケアブログランキングBLOGGER 更新PINGの送り方

プログを始めて1年弱、PINGって何の事と思って調べると下記の様な事。

でもどうやら利用しているBLOGGERはweblogs.comにか送信できないと、クリボウの Blogger 入門: 更新 Ping を打とうとでていたので、PING送信プラスを使って送っています。

PING送信プラス
を使用すると、各PINGサーバーへ指定した
ブログの更新情報が登録されます。

各PINGサーバーへ登録されると、ブログ検索サイトの検索対象になるため、
アクセス数の増加が見込めます!

また、ウェブ検索にも登録されやすくなるため、SEO対策にも効果的です!

※新しい記事を投稿したら必ず「PING送信」ボタンを押しましょう!

ラベル: ,

2008年4月17日木曜日

人気ヘアケアブログランキングBLOGGER ページurlの取り出し

タイトルに対してそれ自身のURLの取り出しはJavascriptでテンプーレートで使われているtitle=permanent linkを利用して取り出しています。

window.onload=function(){
var linkNode=document.getElementsByTagName("a");
for(var ii=0;ii<linkNode.length;ii++){
if(linkNode[ii].title=="permanent link"){
var ele = document.createElement("span");
  ele.innerHTML = "<input type=\"text\" name=\"url\" size=\"80\" value=\""+linkNode[ii].href+"\" onfocus=\"this.select()\" />";
linkNode[ii].parentNode.appendChild(ele);
}}}

ラベル: ,

  1. javascriptを使うまでも無く、
    <a class="comment-link" href="<$BlogItemPermalinkUrl$>#links"><span style="text-transform:lowercase"><$I18NLinksToThisPost$></span></a>
    で、取り出せてるみたいです。
    (テンプレートに書かれていたみたいですが編集しすぎて消していたようです。)

2008年4月10日木曜日

人気ヘアケアブログランキングBLOGGERクラシックテンプレート UTF-8での文字化け対策

以前
BLOGGERクラシックテンプレートUTF-8で表示せず
文字コードをUniversal(Unicode UTF-8) に設定すると画面が表示されなくなったと言う記事を書いたが、

文字化け対策、エンコードのこと
によると、

タイトルに日本語使用している場合にMETAデータのエンコード指定がタイトルより後に読み込まれている為だとの記事が載っていたので参考に

クラシックテンプレートの
<title><$BlogPageTitle$></title>
<$BlogMetaData$>

 という順になっているコードを下記のように入れ替えて完了です。

<$BlogMetaData$>
<title><$BlogPageTitle$></title>

これで\(¥)が表示されるか?

ラベル: ,

  1. \はやはりバックスラッシュとなって\は表示されなかった。

  2. ただ普通に
    font-family:MS UI Gothic;で解決しました。

2008年4月8日火曜日

人気ヘアケアブログランキングBLOGGER クラシックテンプレート ページタイトルの変更

下記のサイトを参考に、
<title><$BlogPageTitle$></title>を
<title>
<MainPage><$BlogTitle$></MainPage>
<ArchivePage><$BlogPageTitle$></ArchivePage>
<ItemPage><Blogger><$BlogItemTitle$></Blogger>:<$BlogTitle$></ItemPage>
</title>

と変更して、タイトル名:プログ名に変えてみました。
クリボウの Blogger Tips: ページタイトルも変えられるのだ

ラベル:

  1. 現在は


    <ItemPage><Blogger><$BlogItemTitle$></Blogger>:<$BlogTitle$></ItemPage>
    とすると、</Blogger>のまえにスクリプトを挿入されるためタイトルがおかしく表示されます。

    <ItemPage><$BlogPageTitle$></ItemPage>でプログ名:ページタイトルの表示に戻しています。

2008年2月15日金曜日

人気ヘアケアブログランキングBLOGGER FTP公開サイトのラベルでの分類方法


使っているBloggerはFTP経由で当店のサーバーにアップしているけど、アーカイブは日付でしかできない。
ラベルでの分類で選択したほうが早く情報を探せるとおもうので、作ってみた。

検索すると、JAVASCRIPTやVPSCRIPT、PERLでやっているのもあったが海外のサイトでの方法で日本語表示にはbase64でエンコードされているのでひとてまかける必要があった・・・ので製作しました。


PHPでラベルのフォルダーに直接ファイル名を取りに行き、日本語ラベル名にエンコードしてjavascriptで書き出しています。




<?php
$dir = '/var/-------l/blog.peaks-jp.com/labels/';#ラベルのパス
$url = 'http://blog.peaks-jp.com/labels/';
$labellist ="<h2 class='sidebar-title'>".mb_convert_encoding("ラベルリスト", "EUC-JP", "sjis")."</h2><ul class='archive-list'>";

if($handle = opendir($dir)) { #ディレクトリハンドルを獲得
while(false !== $file = readdir($handle)){ #ファイル名獲得
list($filename,$html) = split("\.", $file); #ファイル名と拡張子を分割
if(!$filename){continue;}
$filename = str_replace("__", "/", $filename); #ファイル名にするためbase64で/が__に変更されているのを戻す
$labellist .="<li><a href='$url$file'>";
if (preg_match("/=([A-F0-9]{2})/",$filename)) {
# $labellist .= quoted_printable_decode ($filename); #quoted_printable_decodeでローマ字+日本語に変換
$labellist .= mb_convert_encoding(quoted_printable_decode ($filename), "EUC-JP", "UTF-8") ;#BLOGで設定しているcharsetに合わす場合
}elseif(mb_detect_encoding(base64_decode($filename)) == "UTF-8"){
# $labellist .= base64_decode($filename) ; #encodingがUTF-8ならbase64_decodeで日本語変換
$labellist .= mb_convert_encoding(base64_decode($filename), "EUC-JP", "UTF-8") ; #BLOGで設定しているcharsetに合わす場合
}else{
$labellist .= $filename ; #ローマ字のファイル名はそのまま表示
}
$labellist.="</a></li>";
}
}
closedir($handle); #ディレクトリハンドルを閉じる
$labellist .="</ul>";
header ("Content-Type: text/html; charset=EUC-JP");#javascriptとして表示する
echo "document.write(\"";
echo $labellist;
echo "\");";
?>


って仮にlabel.phpで製作し、テンプレートの好きな位置に
<script type="text/javascript" src="http://保存先/label.php"></script>

って書き込み、読み出すと表示されます。このプログはEUC-JPで表示されているからそれに合わせて設定しています。

ラベル:

  1. このlabel日本語変換プログラムも英数字+日本語+英数字+スペースなどとなると正確には変換できませんので適当に対処してください。

  2. ラベルも項目が多くなると見にくくなるので、大分類、小分類になるよう項目を()でくくり振り分けました。

  3. 現在はタグリストを上部に移動させてあります。



PING送信プラス by SEO対策

ashiato

VISAカード


-外国為替-