[PR]
解決済
タグ別ページのカスタマイズをしたいのですが、どうしたらいいですか?
ライブドアブログのタグ別ページをカスタマイズしたいのですが、方法がわかりません。
詳しい方がいらっしゃいましたら、ご教示いただければと思います。
よろしくお願いいたします。
回答(1)
1.

まとめ:
タグ別ページのためのテンプレートというのはなく、現在の処、カテゴリページのテンプレートがそのために流用されている。
そのためタグ別ページのカスタマイズ的なことは、カテゴリページのテンプレートでスクリプト的に表示ページを判断し表示内容を振り分けるようなスクリプトを書く必要がある。
ありがとうございました。
コメント(20)
imq さん
あたしも、先の質問が片付いたらやってみて、わからなかったらまた質問しようと思っていました。
あたしは・・カテゴリ一覧を要約文つきにカスタマイズしてまして、
タグを別ページで開くと
カテゴリ「○○」の記事一覧☆
ってなるのを、
タグ「○○」の記事一覧☆
ってしたいのデス。。
こちらの回答を見守りたいと思いマス ┃_・)ジー
「タグ別記事一覧ページのデザインは、カテゴリアーカイブのデザインを利用しています。」
ってことなので、自前で振り分け(例えばURLにtagがあるかどうかで?)しないとしょうがないんじゃないですかね。
まだ始まったばかりなのにもうカスタマイズですか^^;
はりきってますなあ(´∀` )
タグページは待望だったもので、つい^^;
カテゴリアーカイブを再構築してもタグページが変わらなかったのでてっきり別かと思っていたら、
全てのページで再構築しないといけないみたいですね。
>>#1
>>#2
使えそうなプロパティをいろいろ付けたら回りくどいソースになりましたが、
とりあえず簡単にJSで作ってみました。
↓を<head>~</head>内に入れて
<script type="text/javascript"><!--
var pageDescription = function() {
var path = window.location.pathname.split('/');
this.kindOfPage = path[path.length - 2];
this.isTagPage = this.kindOfPage == 'tag';
this.kindOfPageJP = this.isTagPage ? 'タグ' : 'カテゴリアーカイブ';
}
pageDescription.prototype = {
writeKindOfPage : function() {
document.write(this.kindOfPage);
},
writeKindOfPageJP : function() {
document.write(this.kindOfPageJP);
},
}
var _page = new pageDescription;
--></script>
↓を<body>~</body>内の適当なところに書き込むと
<script type="text/javascript"><!-- _page.writeKindOfPageJP() --></script>タグページでは「タグ」
カテゴリページでは「カテゴリアーカイブ」
と表示されると思います。
私もちょっと試してみました。
>>#4 全てのページで再構築しないといけないみたいですね。
そーそー、時間掛かるし・面倒くさいですね。
ついでに、私の作ったのも挙げておきます。
POPさんの希望するようなモノ
<h2 style="color:blue">
<script type="text/javascript"><!--
(/\/(tag)\/(.*)/).exec(location.href);
if(RegExp.$1=="")
document.write("カテゴリ「"+"<$CategoryName ESCAPE$>"+”」の記事一覧☆");
else{
(/:(.*)/).exec(document.title);
document.write("タグ「"+RegExp.$1+"」の記事一覧☆");
}
//-->
</script>
<noscript>
「<$CategoryName ESCAPE$>」の記事一覧☆
</noscript>
</h2>
あ、シンプル♪
ではそれに習って^^
<h2 class="title">☆
<script type="text/javascript"><!--
var _page = { 'tag' : 'タグ', 'archive' : 'アーカイブページ' };
location.href.match(/\/([a-z]+)\/[^\/]+$/);
document.write(_page[RegExp.$1]);
--></script>
「<$CategoryName ESCAPE$>」の記事☆
</h2>
やってはみたものの、なんか変に手抜きっぽくなってしまいました。。脱線ばかりですみません。
ひょっとしたら、
こうすると名前領域を汚さずにすむのでしょうか?
<h2 id="categorytitle">
<script type="text/javascript"><!--
location.href.match(/\/([a-z]+)\/[^\/]+$/);
document.write({'tag': 'タグ', 'archive': 'アーカイブページ'}[RegExp.$1]);
--></script>
「<$CategoryName ESCAPE$>」の記事☆彡
</h2>
imqさん!BLUEPIXYさん!
お二人の方法を試してみますネ☆
・・アタマがすっきりしているときに(・∀・;)
「全ての記事を再構築しないといけないと反映されない」件についてですが、これは不具合でして、近いうちに修正される予定です。
(本来はデザインを変更しただけで反映されるはずなのですが、サーバ側のキャッシュが効いてしまって反映されるのが遅いのです。全て再構築しなくても、しばらくそのままにしておけばいずれ反映されます...)
なお、「タグのアーカイブかカテゴリのアーカイブかを見分ける独自タグが欲しい」といった要望があれば、こちらにどうぞ。
↓
http://fixdap.com/p/request_blog/
要望が多ければ実装されるかも。
回答なしで、コメントが盛況^^。
>>#9 こうすると名前領域を汚さずにすむのでしょうか?
試してないので、実行可能かどうかはともかく、
コードが読みにくくなるので、変数は使いたいですよね。
そういう場合、
new function(){
var temp_var;
…
};のようにすれば一時変数が使えます。
あと、
タグページの場合
<$CategoryName ESCAPE$>は、カテゴリではないので、空になると思います。
私の<noscript>~</noscript>で使っているのは、いつでも使えるからではなく、最悪の場合でもカテゴリテンプレートに書いていた元のままになる、というような意味合いで書いています。
>>#11
あっ中の人、コメントありがとうございます。
こうしてちゃんとやってくれてるとわかるとうれしいものです。
みんながドンドコ再構築されても困るだろうし頑張って下さい!
o(^_^)o
>>#11
『fixdap・livedoor Blogへの要望・アイデアまとめページ』
要望やアイディアに対する考え解決の仕方から進捗状況、今までの不具合の真相、中の人のがんばりがわかってとってもイイ(・∀・)
これまで文句ばっかり言ってた自分を反省しました・・。
ブログカスタマイズに関することは、ナレッジでどーにも解決できなければ要望として出すのもいいかもですネ?ネ?
imqさん!
fixdapのlivedoor Blogへの要望・アイデアまとめページに要望を出されてみては?
あたしも便乗させていただきまーす(⌒∇⌒)
>>#12
BLUEPIXYさん
コンストラクタってそういう使い方もあるんですねー
思いもつかなかったです^^;
<h2 id="categorytitle">
<script type="text/javascript"><!--
new function() {
location.href.match(/\/([a-z]+)\/[^\/]+$/);
var page = { 'tag' : 'タグ', 'archives' : 'アーカイブページ' };
document.write(page[RegExp.$1]);
}
--></script>
「<$CategoryName ESCAPE$>」の記事♪
</h2>
<$CategoryName ESCAPE$>は現状でも、タグページではタグ名が表示されているみたいですが。。
空白になってしまう条件があるのでしょうか??
余談ですが、
#7と#9のソースは
archive -> archivesにしないと動きませんでした。
失礼しました。
>>#13
POPさん
>文句ばっかり言ってた自分を反省しました
私もです。。
それにしても、ここ数ヶ月のlivedoor Blogの攻勢は目を見張るものがありますよね。
>fixdap
すでにあの方たちも参加してるんですね。早!
今思いつく要望は
文字コードをUTF-8にしてほしいwですが、これは受け入れられそうもないのでやめておきます。
登録は済ませておきました。
今度なにか要望を出してみたいですね。
>>#15 コンストラクタってそういう使い方もあるんですねー
あと、
function(){…}();
なんて書き方もできると思いますが、
個人的には new の方が好きです。
>>#15 タグページではタグ名が表示されているみたいですが。。
そうですか!、それは失礼しました。
<(_ _)>
自分で一度試してみた時には表示されなかったので、タイトルから取るようにしたのですが・
多分勘違いだったのでしょう。
そういうことなら、タイトルから取る必要もなく、単にマッチするかどうかテストするだけでいいですね。
というわけで#6は、訂正させて下さい。
<h2 style="color:blue">
<script type="text/javascript"><!--
document.write((location.href).match(/\/(tag)\/.*/)? "タグ" : "カテゴリ");
//-->
</script>
「<$CategoryName ESCAPE$>」の記事一覧☆
</h2>


