Ads By Google
カテゴリーアーカイブごとに、サイドバーの表示要素を変えることは可能?
たとえば、Aというカテゴリーアーカイブでは、新着記事のタイトル10件がサイドバーに出ているけれど、Bというカテゴリーアーカイブのページには出ていない。このように表示させることは可能なのでしょうか?
2008-05-06 09:50の質問
この質問は、30日間解決しなかったために自動的に質問が一旦閉じられました。
回答(2)
1.
2008-05-06 16:12:53
ライブドアの場合、カテゴリアーカイブのテンプレートは一つだし、プラグイン自体はテンプレートで一つ一つのロードを選択することはできませんので、カテゴリー毎にプラグインの設定をすることはできませんが、ページが表示される時に、どのカテゴリーなのかはわかるので、スクリプトを使うと
どのカテゴリーの時にあるプラグインを表示させないということは可能です。
どのカテゴリーの時にあるプラグインを表示させないということは可能です。
回答レベル : アドバイス
2.
2008-05-08 01:24:12

#1>ヒント
・スクリプトは、プラグインの後の部分かonload イベントで実行されるようにする。
・カテゴリテンプレートで<$CategoryName ESCAPE$>(がないなら)を適当な場所に書いておいて、表示されているカテゴリを取り出せるようにしておく。
・プラグインは、
<div class="sidetitlebody"></div>
<div class="sidetop"></div>
<div class="side"></div>
<div class="sidebottom"></div>
の様になっているので、
それぞれのdiv を特定できれば、
このうち、sidetop,sidebottomは、現在内容が無いので(CSSで枠線書きとかに使ってないなら)無視できる。
のgetElementsByClass の様に使うと、特定のクラス名のdiv を配列で得ることができる。
名前で特定するのは、サンプルのようにすればいい。
簡略的にどの順番のというのを指定すれば単に
プラグインの順序を変えないのであればこの方が楽ちん。
・スクリプトは、プラグインの後の部分かonload イベントで実行されるようにする。
・カテゴリテンプレートで<$CategoryName ESCAPE$>(がないなら)を適当な場所に書いておいて、表示されているカテゴリを取り出せるようにしておく。
・プラグインは、
<div class="sidetitlebody"></div>
<div class="sidetop"></div>
<div class="side"></div>
<div class="sidebottom"></div>
の様になっているので、
それぞれのdiv を特定できれば、
aDiv.style.display="none";の様にして(表示を)消すことができる。
このうち、sidetop,sidebottomは、現在内容が無いので(CSSで枠線書きとかに使ってないなら)無視できる。
のgetElementsByClass の様に使うと、特定のクラス名のdiv を配列で得ることができる。
side = getElementsByClass('side', links_top, 'div');
名前で特定するのは、サンプルのようにすればいい。
簡略的にどの順番のというのを指定すれば単に
side[3].style.display="none";の様にしてもよい。(この場合番号は0始まり)
プラグインの順序を変えないのであればこの方が楽ちん。
回答レベル : アドバイス
BLUEPIXYさん、ご丁寧な回答をありがとうございます。
教えて頂いたヒントをもとに、やってみます。
時間がかかるかもしれないので、ひとまずナレを。
Ads By Google
コメント(1)
#1. teacup
2008-05-07 22:28:12
BLUEPIXYさん、ありがとうございます。
> スクリプトを使うと
プラグインの表示・非表示に関連したスクリプト、というのは、どのようなものになるのでしょうか?
ごめんなさい、実際のソースでなくとも、何かヒントになるようなことを教えて頂けるとありがたいです。
どうぞ、よろしくお願いいたします。



